From eloranta at aa6kj.hopto.org Tue Dec 13 19:32:10 2022 From: eloranta at aa6kj.hopto.org (Jussi Eloranta) Date: Tue, 13 Dec 2022 17:32:10 -0800 Subject: [crossfire] flatpak Message-ID: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> Hi, I was wondering if there would be interest to create flatpak of either the gtk2 or java crossfire clients and place it in flathub? Since there are many people now with steam decks (runs modified version of arch linux), this could potentially increase the number of players quite a bit. In the desktop mode (KDE plasma), it comes with package manager called discover, which pulls packages from flathub (flatpaks; all this is separate from the steam store). So, if crossfire client would be available as flatpak from this repository then it would be easily accessible to steam deck users. I am running the gtk2 and java clients on my steam deck. I compiled the former (pulling compilers etc from brew) and the latter requires java runtime (from brew). So, this is technically possible.  I use external monitor, keyboard and mouse as the gamepad etc. are somewhat useless with crossfire. So, I played with flatpak and the java client a bit and came up with the following *very crude* write up (not sure if gtk2 is still supported by flathub runtime). And, by the way, I have never done anything (except install) with flatpak, so take this with grain and salt... 0. Flatpak does not like the dash in the domain name crossfire.real-time.com ... so this is replaced with underscore? 1. Before starting org.freedesktop.Platform and org.freedesktop.Sdk must be installed. 2. The following files need to be in the current directory: com.real_time.crossfire.yml: app-id: com.real_time.crossfire runtime: org.freedesktop.Platform runtime-version: '22.08' sdk: org.freedesktop.Sdk sdk-extensions: command: start.sh modules:   - name: openjdk     buildsystem: simple     build-commands:       - /usr/lib/sdk/openjdk11/install.sh   - name: Crossfire_client     buildsystem: simple     build-commands:       - install -D download /app/bin/jxclient.jar       - install -D start.sh /app/bin/start.sh     sources:       - type: file         url: https://sourceforge.net/projects/crossfire/files/jxclient/jxclient.jar/download         sha256: e6af744ea986da0991233787be6c9bc5535a7f3fe8ea682fe3284f1152e67b77       - type: file         path: start.sh finish-args:       - --share=ipc       - --socket=x11       - --socket=wayland       - --share=network start.sh (do chmod+x on this): #!/bin/sh /app/jre/bin/java -jar /app/bin/jxclient.jar exit 0 3. Build the package: flatpak-builder --force-clean build --disable-rofiles-fuse com.real_time.crossfire.yml Add --disable-cache  to force downloading jxclient.jar again. 4. Test the build locally: flatpak-builder --user --install --force-clean build --disable-rofiles-fuse com.real_time.crossfire.yml 5. GPG sign: flatpak-builder --gpg-sign= --repo= com.real_time.crossfire.yml 6. Run the flatpak: flatpak run com.real_time.crossfire 7. Procedure for adding the flatpak to flathub: https://github.com/flathub/flathub/wiki/App-Submission Jussi Eloranta (eloranta at aa6kj.hopto.org) ps. Crossfire is still the best multi-user RPG out there! Nothing comes close to it in terms of playability. From leaf at real-time.com Thu Dec 15 13:01:17 2022 From: leaf at real-time.com (Rick Tanner) Date: Thu, 15 Dec 2022 13:01:17 -0600 Subject: [crossfire] flatpak In-Reply-To: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> Message-ID: Thank you for sharing your work and findings on this. Anyone else have some thoughts (pro or con) of using or maintaining flatpack(s) as another option for client deployment? From nicolas.weeger at laposte.net Fri Dec 16 12:28:38 2022 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Fri, 16 Dec 2022 19:28:38 +0100 Subject: [crossfire] flatpak In-Reply-To: References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> Message-ID: <3245819.QjYpydgu2a@gros> Hello. Thanks Jussi for the script! I'm fine with using Flatpak, but then we'll have the maintenance issue. And we'll have to decide when/what to release :p Since we don't do releases lately, well, we can put some Flatpak. So fine with that, but let's document everything, and automate as much as possible, so it's easy to update :) I could even add that to my daily build if there's a need for it. Best regards Nicolas -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part. URL: From eloranta at aa6kj.hopto.org Sat Dec 17 00:14:14 2022 From: eloranta at aa6kj.hopto.org (Jussi Eloranta) Date: Fri, 16 Dec 2022 22:14:14 -0800 Subject: [crossfire] flatpak In-Reply-To: <3245819.QjYpydgu2a@gros> References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <3245819.QjYpydgu2a@gros> Message-ID: Hi Rick and Nicolas, Thanks for your feedback. And yes, I understand Nicolas' concern of maintaining this. I am not sure what is the best way to integrate this into your code base (& automate). First, I see that you are using sourceforge and flathub uses github for application submission. So, making things automatic would require pushing things to two different places. But perhaps the releases do not take place that often and this can be done somewhat manually? But I will try to see how others are doing this. But since at least the idea was not shot down immediately, I will start looking more into this :-) For example, shattered pixel dungeon (single player rogue-like RPG) has the flatpak files here: https://github.com/flathub/com.shatteredpixel.shatteredpixeldungeon In addition to flatpak related files, one also needs to include two other files for flathub (desktop file and general application description file in xml format). Examples of both of these are above. The flatpak builder file in this case is in json format (rather than yml). Flathub takes the application entries from github (like the above example). Here is the full documentation for the submission process: https://github.com/flathub/flathub/wiki/App-Submission Application updates go via that route as well (as far as I understand). Anyway, just wanted to let you know what the big picture is. I will try to come up with the required files. By the way, are the clients (actually just the java client) also under GPL2 copyright (like the server)? Finally - and unfortunately - flathub no longer supports gtk2, so all this would be for the java client only. Personally I like the gtk2 client more but this is probably only because I have used it for many years... Best wishes, Jussi Eloranta ps. Forgot... com.real-time.crossfire does not work for the name because of the dash. Right now I have com.real_time.crossfire but, of course, that would not resolve to anything using DNS. So, any suggestions? From leaf at real-time.com Mon Dec 19 12:24:15 2022 From: leaf at real-time.com (Rick Tanner) Date: Mon, 19 Dec 2022 12:24:15 -0600 Subject: [crossfire] flatpak In-Reply-To: References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <3245819.QjYpydgu2a@gros> Message-ID: <3921feb5-96ac-97b5-a943-bcbcf4924d96@real-time.com> Unfortunately, the other project domain names, cross-fire.org and cross-fire.net, have hyphens in them. If push comes to shove, crossfireatlas.net|.com|.org is a possibility ? On 12/17/22 12:14 AM, Jussi Eloranta wrote: > > ps. Forgot... com.real-time.crossfire does not work for the name because > of the dash. Right now I have com.real_time.crossfire but, of course, > that would not resolve to anything using DNS. So, any suggestions? From eloranta at aa6kj.hopto.org Mon Dec 19 17:36:11 2022 From: eloranta at aa6kj.hopto.org (Jussi Eloranta) Date: Mon, 19 Dec 2022 15:36:11 -0800 Subject: [crossfire] flatpak In-Reply-To: <3921feb5-96ac-97b5-a943-bcbcf4924d96@real-time.com> References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <3245819.QjYpydgu2a@gros> <3921feb5-96ac-97b5-a943-bcbcf4924d96@real-time.com> Message-ID: <603af37b-90b0-70bd-6be5-e5e258ab86d9@aa6kj.hopto.org> On 12/19/22 10:24, Rick Tanner wrote: > > Unfortunately, the other project domain names, cross-fire.org and > cross-fire.net, have hyphens in them. > > If push comes to shove, crossfireatlas.net|.com|.org is a possibility ? > Hmm.. yes, but that has all the maps etc. (spoiler?) Jussi From eloranta at aa6kj.hopto.org Wed Dec 21 14:47:51 2022 From: eloranta at aa6kj.hopto.org (Jussi Eloranta) Date: Wed, 21 Dec 2022 12:47:51 -0800 Subject: [crossfire] flatpak In-Reply-To: <603af37b-90b0-70bd-6be5-e5e258ab86d9@aa6kj.hopto.org> References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <3245819.QjYpydgu2a@gros> <3921feb5-96ac-97b5-a943-bcbcf4924d96@real-time.com> <603af37b-90b0-70bd-6be5-e5e258ab86d9@aa6kj.hopto.org> Message-ID: <31158895-abba-a019-7a69-fd9b0ea3b69c@aa6kj.hopto.org> On 12/19/22 15:36, Jussi Eloranta wrote: > >> If push comes to shove, crossfireatlas.net|.com|.org is a possibility ? >> > Hmm.. yes, but that has all the maps etc. (spoiler?) I will use net.crossfireatlas.crossfire as the application id (at least for now). Next I have to set up git repo for this on my github page. Then I can check with flathub people if everything is in order. Jussi From eloranta at aa6kj.hopto.org Tue Dec 27 23:40:48 2022 From: eloranta at aa6kj.hopto.org (Jussi Eloranta) Date: Tue, 27 Dec 2022 21:40:48 -0800 Subject: [crossfire] flatpak In-Reply-To: <31158895-abba-a019-7a69-fd9b0ea3b69c@aa6kj.hopto.org> References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <3245819.QjYpydgu2a@gros> <3921feb5-96ac-97b5-a943-bcbcf4924d96@real-time.com> <603af37b-90b0-70bd-6be5-e5e258ab86d9@aa6kj.hopto.org> <31158895-abba-a019-7a69-fd9b0ea3b69c@aa6kj.hopto.org> Message-ID: Hi, Just letting you know that I just sent the first attempt to the flathub folks. Let's see how many issues they will discover.... I will keep you posted. I will write docs on updating it. The yaml script will download the java client automatically, so the only thing that really needs to be done is to indicate that new version has been published and flathub will pull that automagically. And in the worst scenario, if we don't like this whole thing, it is very easy to remove :-) Best wishes, Jussi Eloranta From nicolas.weeger at laposte.net Wed Dec 28 03:03:25 2022 From: nicolas.weeger at laposte.net (Nicolas Weeger) Date: Wed, 28 Dec 2022 10:03:25 +0100 Subject: [crossfire] flatpak In-Reply-To: References: <10f9ce82-17b0-9753-86a8-ebbd020d63f2@aa6kj.hopto.org> <31158895-abba-a019-7a69-fd9b0ea3b69c@aa6kj.hopto.org> Message-ID: <5015322.3AYRbQ5h9F@gros> Hello. Thanks for the work & the updates :) Best regards Nicolas Le mardi 27 décembre 2022, 21:40:48 CET Jussi Eloranta a écrit : > Hi, > > Just letting you know that I just sent the first attempt to the flathub > folks. Let's see how many issues they will discover.... I will keep you > posted. I will write docs on updating it. The yaml script will download > the java client automatically, so the only thing that really needs to be > done is to indicate that new version has been published and flathub will > pull that automagically. And in the worst scenario, if we don't like > this whole thing, it is very easy to remove :-) > > Best wishes, > > Jussi Eloranta -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: This is a digitally signed message part. URL: