-
-
Notifications
You must be signed in to change notification settings - Fork 118
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
PoC Flatpak packaging #51
Comments
I have recently started the generation of the Flatpak manifest for Qucs-S. I didn't find a way to launch an external application from system |
@ra3xdh you can use flatpak-cpan-generator.pl. I packaged ADMS with QUCS like this
And
|
Unless you're forcing XCB QPA platform in the application or using ngspice's X11 plotting, it should have instead
Please read the standard permission section.
This means that you're throwing away ngspice's symbols, instead of extracting them and moving into a separate And last, this is obviously missing an AppStream MetaInfo, which will be needed for Flathub submission. Please see the documentation here, the AppStream MetaInfo Creator, and the Appstream section in App Requirements wiki page. |
I updated the example |
Is flatpak qucs-s support up to date ? |
The main issue with Flatpak was sandboxing concept which is against Qucs-S architecture. Qucs-S is intended to reference an external simulation kernel. It is required to compile every simulation kernel and provide fixed versions inside flatpak. The issue may be partially resolved after implementing Qucsator_RF integration. Otherwise supported kernels may be restricted to Ngspice only. Xyce build with flatpak is not possible because of Trillinos libraries. |
Hello @ra3xdh , Would it be possible to submit the current manifest to Flathub? I believe that even with support for only Ngspice, it would still be quite valuable for users, especially on immutable systems. |
The following things should be corrected in the existing manifest:
It's need to learn if Flatpack supports automatic usage of the latest stable version. Also the isolation concept doesn't allow to use external Ngspice or Xyce. The recent versions of Qucs-S has introduced automatic detection of Ngspice installation. It's need to check if this will work from inside installed Flatpack package.
The QucsatorRF is a part of Qucs-S package since v24.2.0 It doesn't depend on Perl anymore. See #370 So two simulators should be available. |
Thanks for your response! It's exciting to hear that more simulation kernels could be supported. While the isolation in Flatpak can be a bit of a hassle due to the need to package all dependencies, it also means users can simply install the Flatpak package to get a fully functional Qucs-S, without having to install additional packages on their host system.
IMHO, we should hardcode the versions of Qucs-S and its dependencies in the manifest. Flathub provides an External Data Checker that can automatically check for dependency updates and create PRs for the manifest. |
I will try to prepare Flatpak manifest update by the next release. Contribution is welcome. The manifest files could be placed in |
Hi @ra3xdh, I've successfully updated the manifest to include all the latest changes: io.github.ra3xdh.qucs_s.yml. It now automatically detects both Ngspice and Qucsator. Since the manifest is typically submitted to a dedicated repository under Flathub, would it be alright for me to submit it there? Additionally, as @tinywrkb mentioned, we need to add an AppStream MetaInfo to this repository as well:
|
Thanks! Yes, you may submit the manifest. The QucsatorRF is a part of Qucs-S package, so only two repositories (Qucs-S and Ngspice) are required. |
Since Flathub only accepts stable versions, we are currently waiting for a patch release to proceed with our submission to Flathub. The release section of MetaInfo should be updated before the next release following the MetaInfo guidelines. |
I am planning to prepare v24.4.1 release by the end of this week. This will include some bugfixes implemented recently. I will update MetaInfo while release preparation. |
I have updated MetaInfo in #1061 |
I have just uploaded the 24.4.1 release packages. It contains the MetaInfo now. |
Qucs-S is now available on Flathub: https://flathub.org/apps/io.github.ra3xdh.qucs_s @ra3xdh , if you're interested, please consider accepting the invitation to flathub/io.github.ra3xdh.qucs_s to verify this app on Flathub. |
@NN708 Thanks for adding Flatpak support! This issue may be closed as resolved now. |
I have made an announcement #1069 |
This is an initial Flapak manifest for Qucs-S, not really tested except a basic simulation.
It definitely needs more work, testing, and cleanup.
This needs Qucs base app when building the app, so build and install it first.
I've followed the Arch Linux packaging and added every optional dependency for Qucs-S and its dependencies. So you have Ngspice, FreeHDL, GTKWave, and even also Qucs packaged.
I don't plan to publish this on Flathub myself, but I hope this might encourage you to choose Flatpak as a distribution channel.
BTW Qucs is also packaged here.
The text was updated successfully, but these errors were encountered: