Comments (17)
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.
Looks pretty neat, eh? https://flathub.org/apps/details/org.famistudio.FamiStudio
from famistudio.
- Yup.
- Yup.
- 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.
You could add a longer summary to the metainfo.xml file.
from famistudio.
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.
I'm trying to put something together... :-)
from famistudio.
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.
Here's a test build:
flatpak install --user https://dl.flathub.org/build-repo/26142/org.BleuBleu.FamiStudio.flatpakref
from famistudio.
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:
- 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.
- 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.
- 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?
- 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!
EDIT: I've attached a new SVG that you can simply use.
-Mat
from famistudio.
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
- 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
-
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!). -
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.
-
Sure!
from famistudio.
Oh I didn't see your edit, I will update to the new SVG!
from famistudio.
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 :
- I simply package everything like I did before.
- I update the package at https://github.com/flathub/org.famistudio.FamiStudio with new version, links, release notes, etc.
- Create a PR and it should get picked up auto-magically.
That's it?
-Mat
from famistudio.
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.
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.
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.
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.
Nice! :-)
from famistudio.
Related Issues (20)
- FamiTracker timing tempos 151-255 prove useless HOT 7
- FamiStudio NES/NSF export sounds weird on some emulators HOT 2
- [Android] Add more export files (VGM, TXT, MIDI, ect...)
- VGM looping support? HOT 5
- Add on FamiStudio 4.2.0 update HOT 5
- Under certain conditions, DPCM samples can "lose association" with instruments. HOT 3
- Upgrade RtMidi to 5.0.0 HOT 5
- Permit FFMpeg from PATH HOT 4
- The extension `.fms` association may not be opened correctly. HOT 3
- "Download file now?" helper prompt for downloading .NET 5.0 doesn't work properly HOT 3
- Support OPNI instrument format import HOT 3
- Version 4.1.2 fails to launch on Linux Mint 21.2 HOT 30
- version 4.3.2 isn't work on my windows 7 system HOT 4
- Supports Super Nintendo SNES?
- Is there a famistudio 4.0.6 APK for android? HOT 2
- [Feature Suggestion] Playback Tool for Individual Notes
- Division by zero crash when opening "Song Properties" window HOT 3
- Crash (force-close) when opening certain FamiTracker modules HOT 2
- FamitrackerTextFile.cs relies on comments when parsing FamiTracker text export HOT 1
- Program Crashes when opening export menu on mobile HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from famistudio.