GithubHelp home page GithubHelp logo

Flatpak build about famistudio HOT 17 CLOSED

bleubleu avatar bleubleu commented on August 22, 2024
Flatpak build

from famistudio.

Comments (17)

bilelmoussaoui avatar bilelmoussaoui commented on August 22, 2024 1

Hey, I am a Flathub reviewer. Flathub uses a github repository under https://github.com/flathub per app identifier. The default branch of the repository is used to build the stable release, applications developers can use the beta branch as well if they want.

Whenever a PR is created against the repo, the buildbot will build the manifest and provide with you a test build you can easily install, run & test. Once the changes looks good, you can merge it, a new build type will take place that will publish the update to users few hours after that (it's set to 3 hours by default which you can change).

from famistudio.

ernstp avatar ernstp commented on August 22, 2024 1

Looks pretty neat, eh? https://flathub.org/apps/details/org.famistudio.FamiStudio

from famistudio.

ernstp avatar ernstp commented on August 22, 2024 1
  1. Yup.
  2. Yup.
  3. Yeah, you also got push access to it right? So we can just merge stuff on our own. And yes, it should be built automatically...

from famistudio.

ernstp avatar ernstp commented on August 22, 2024 1

You could add a longer summary to the metainfo.xml file.

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

Hi.

Some other people have asked for FamiStudio to come in the their favorite package format (Snap/AUR, FlatPak, etc.).

The Linux community is very small at the moment (the download numbers are extremely low), so id rather invest my energy elsewhere until the community grows up a bit. Example in hand, I literally am not aware of a single song made with the Linux version. My impression is that Linux users only seem to download the app, launch it, and close it! 😂

I need to pick my battles, I hope you understand.

-Mat

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

I'm trying to put something together... :-)

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Ok I put something together.. @BleuBleu do you care to take a look? It says BleuBleu everywhere so I won't do anything without your approval:

https://github.com/ernstp/flathub/tree/new-pr

Here's the process: https://github.com/flathub/flathub/wiki/App-Submission

If you want to own the submission feel free to copy it. I'm thinking about the "Someone else has put my app on Flathub—what do I do?" section.

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Here's a test build:
flatpak install --user https://dl.flathub.org/build-repo/26142/org.BleuBleu.FamiStudio.flatpakref

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

Hi!

Sorry for the delay, these releases take a lot out of me so I tend to take a short GitHub break after each one. I just tested the test build and it worked spectacularety well on the VM i setup!

Now as you might have guessed, I am a Linux-moron, so bear with me while I ask you the dumbest questions:

  1. I noticed it installed a bunch of dependencies, Mono was not one of them. Was it because I already had it? I do see it in the YML file mentionned a bunch.
  2. If I integrate this, what do I need to do at each release to publish the build on flathub? What is the exact series of action i need to perform.
  3. I see there is a SVG icon in there, its super small. In the FamiStudio.svg file in the Resource folder, there are actually higher-res versions of the logo outside of the viewport (see screenshot i attached). Could we switch to these instead?
  4. If users have issues with the package, would you be willing to minimally support them at the start? As I said, the time i have to devote to Linux is very limited at the moment.

Thanks again for the contribution, and I hope we can keep the conversation going and get that released!

Logos

EDIT: I've attached a new SVG that you can simply use.

FamiStudioNewSvg.zip

-Mat

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Hi! Nice that you liked it! It gives quite good visibility and convenience for an app.

Here's the pull request for FlatHub: flathub/flathub#1817

  1. There's no Mono "runtime" so it's just bundled inside the app package itself. But there is an "sdk" which is official which is used to add Mono support to the app.
    It's the combination of
sdk-extensions:
  - org.freedesktop.Sdk.Extension.mono6

and:

  - name: mono6
    buildsystem: simple
    build-commands:
      - /usr/lib/sdk/mono6/install.sh
  1. So if you just integrate it here you can build a Flatpak yourself etc, but I think if we want it published on FlatHub specifically they want a special FlatHub app repo there. I get that impression from their App Submission guidelines. I can ask for more details.
    They have one repo for every app like this: https://github.com/flathub/com.microsoft.Teams
    I can make sure you're admin of that repo also (I assume!).

  2. Right, I picked the SVG icon since it's scaleble and works at any size. However I see that it has less detail than the others now, I'll switch.

  3. Sure!

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Oh I didn't see your edit, I will update to the new SVG!

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

Hello hello! Again sorry for the delay, catching up on stuff now!

Wow, it looks all legit now! :) Amazing work!!! You just made a lot of people super happy!

So early next week I will likely release 2.2.1 to fix a small issue.

Just to confirm that I understood correctly :

  1. I simply package everything like I did before.
  2. I update the package at https://github.com/flathub/org.famistudio.FamiStudio with new version, links, release notes, etc.
  3. Create a PR and it should get picked up auto-magically.

That's it?

-Mat

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

Excellent, yes! I got an invite to push directly in the repo I think. I'll keep the issue open until I release 2.2.1 in case I have other dumb questions! :)

Once i do it once I should feel a bit more confident.

-Mat

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

Hi! I was wondering if I could ask you another general Linux question.

One of the issues a lot of people have with the way I distribute the app on Linux, is that I distribute binaries of stuff that I compiled locally. The 2 libs : OpenAL & rtMIDI, as well as 2 C++ DLLs : NesSndEmu and NotSoFatso.

These assumes people have the required dependencies installed. To minimize this kind of issue, I link with static CRT (which is why they are so large) and compile everything with a ridiculously old version of gcc. Still, every now and then some people running old/exotic distros will be missing some required dependencies.

It its current form, is the Flathub build less likely to have this kind of issue? It is still relying on my locally compiled files afterall. Is it something we could improve?

-Mat

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Right I mean this is the kinds of problems flatpak etc are meant to solve.
The app runs in an environment controlled by the flatpak, so it is controlled by the publisher and should work the same for everyone.

All the dependencies should be bundled with the app or come from the selected runtime. So you can see we use the Gnome 3.36 runtime here: https://github.com/flathub/org.famistudio.FamiStudio/blob/07d95aab65a35a020c1086dc670db08b2505467c/org.famistudio.FamiStudio.yml#L3

You can see here that I threw out your provided libopenal and replaced it with a symlink from the runtime:
https://github.com/flathub/org.famistudio.FamiStudio/blob/07d95aab65a35a020c1086dc670db08b2505467c/org.famistudio.FamiStudio.yml#L48

Stuff that's not in a runtime you have to copy into the app itself.

from famistudio.

BleuBleu avatar BleuBleu commented on August 22, 2024

All right, im proud to say i managed to push the 2.2.1 update, everything went super smooth! I will close the issue. Thanks again for the contribution. If there is ever a problem i might contact you on this thread or twitter.

-Mat

from famistudio.

ernstp avatar ernstp commented on August 22, 2024

Nice! :-)

from famistudio.

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.