I'm not sure if this has been considered, but should we do builds for Red Hat based OSs like Fedora? Would this require much effort?
That would be difficult because the CI we use for the builds is on ubuntu. Possible, but probably not worth the effort. Anyone on an rpm-based distro should be comfortable with compiling.
But the CI we use also produces Windows and Mac builds, no? So surely it's possible?
Just to clarify I'm willing to put in the actual work to have RPM builds, I'd just need some pointers on how to do so. I'm on an RPM-based distro and I did build cockatrice but it would certainly be easier to have an automated update process!
I've tried this in the past, but not being an user of an rpm-distro, i left the job half-cooked: https://build.opensuse.org/project/show/home:ctrlaltca:Cockatrice
But the CI we use also produces Windows and Mac builds, no
Travis has Ubuntu 14.04 and 12.04 build platforms, as well as OSX.
Appveyor has windows.
If you're aware of a CI that can do this I'm open to it. I suppose a last resort might be to compile it inside docker on travis, but the travis builds already take long enough...
Can you make a specfile that just pulls in the git repo?
So is this BuildOpenSuse site a CI for rpm-using OSs ? I'll look into it if
that could work
On 14:46, Wed, 06/01/2016 Gavin Bisesi [email protected] wrote:
Can you make a specfile that just pulls in the git repo?
—
Reply to this email directly or view it on GitHub
https://github.com/Cockatrice/Cockatrice/issues/1746#issuecomment-169326429
.
@ctrlaltca it seems like this was almost finished? It just failed on xUbuntu and CentOS because they were missing some dependencies (which I suspect you can find anyway)
Yep, it was mostly working, but totally untested.
Okay I should be able to test the fedora ones at least. Where are the .rpm downloads?
Here, but they're surely outdated: http://download.opensuse.org/repositories/home:/ctrlaltca:/Cockatrice/Fedora_21/
Incidentally I suspect the package name is being set to the description (the title at the top should probably say 'Cockatrice'). Also could we package the Cockatrice logo as well? The Software program sees it like this at the moment:

It installs and runs perfectly though
It doesn't show the version in About->About Cockatrice but that's probably due to it being an old version
I'm maintaining a cockatrice package in copr for Fedora.
http://copr.fedoraproject.org/coprs/linkdupont/fedora-link-extras/
@subpop That's helpful, but I'd like to focus on automated builds to make sure we continue to support as many platforms as possible. I added a note about your repo to the wiki page though.
@Daenyth In terms of supporting as many platforms as posslible it would be nice to have .deb builds for Debian (opposed to Ubuntu) aswell.
Yes, that would be nice.
@subpop do you still maintain that Fedora package on copr?
I do, yes.
Along these lines, I just successfully experimented with and built Cockatrice in a flatpak. I've uploaded the relevant files into a standalone repo.
I'm not familiar enough with CMake to figure out how to integrate this into CPack yet; I need to do some more investigation there. But the Makefile contains all the necessary commands to build a flatpak repo that can be hosted for consumption by flatpak users.
@subpop nice! Does that flatpak only work on fedora?
Cmake didn't pick up the job of supporting package creators like snap/flatpak yet, so there are two ways to make it work:
cmake && make && make flatpak;No, flatpak is distribution-agnostic. Most of the distros are picking it up in some capacity (via PPAs or AURs, etc). I'd guess that over time it'll work its way into the distro proper.
Currently I'm hosting the cockatrice repo on S3. The idea with flatpak repositories is that the vendor hosts the repository themselves. That way they can directly distribute binaries to their users. (Imagine if Valve hosted a flatpak repository of Steam and shipped a flatpak instead of a .deb). If we do get this all properly integrated, it would be ideal if we could figure out a way for Cockatrice (the project) to somehow host the flatpak repository.
I'll try to learn how to write a CMake module & CPack generator. That sounds like the better way in the long run.
Little update here. CPack's generators are a fixed set. Adding a new one requires adding a new CPackGenerator C++ class to the core CPack source and get it submitted in upstream CMake. While that's still a noble goal, that's a whole lot more work and something that should be done under some generic effort of bringing Flatpak generator to CMake in general.
I'll try to build a custom module that emulates some CPack behavior.
A few hints:
flatpack-builder and the other needed binaries, here's an example that does the same for git: https://github.com/Kitware/CMake/blob/master/Modules/FindGit.cmakeFedora now has cockatrice in its official repositories (maintained by me). Taking the Fedora spec file and porting it to openSUSE is probably fairly straightforward.
@subpop Awesome!
@subpop I just noticed your flatpak build hosting is 404'ing. Have we made any progress in making easy flatpak builds for cockatrice?
@TMiguelT Sorry about how long this took, but yes, my URLs are now 404'ing, because I have submitted and finally achieved a flatpak hosting in flathub. I'll change the relevant wiki pages to use the flathub repos instead. This means hosting and building and everything is done using the Flathub infrastructure, instead of my laptop and my personal S3 bucket. :)
@subpop I'm confused now :) Which link 404'ed? You just added the flapak part:

Is flatpak an additional possibility to install, next to the official fedora repos? They do still work?
my URLs are now 404'ing, because I have submitted and finally achieved a flatpak hosting in flathub. I'll change the relevant wiki pages to use the flathub repos instead.
But you're saying it's replacing it?
@tooomm Sorry, the link that no longer works is one mentioned in an earlier comment on this issue (a standalone Flatpak repository hosted in an S3 bucket). Since I moved the Flatpak build into Flathub, I deleted the S3 bucket.
Along these lines, I just successfully experimented with and built Cockatrice in a flatpak. I've uploaded the relevant files into a standalone repo.
At this point, I am maintaining two separate packaging mechanisms:
Both can be installed in parallel. Maybe that wiki page could be reworked to more clearly identify the differences between Flatpak and the Fedora RPMs.
Ok, I get a better understanding now. 👍
I added the maintainer note for flathub/flatpak in the wiki, too.
Who can use the flatpak version? Is it only compatible with a special type of distros? Any requirements?
Any distribution that has Flatpak available in its repositories can use the Flatpak. The Flatpak website lists how to install Flatpak for many of the major distributions. As of this writing:
Edit, they now also list:
I saw that you initiated a project at the flathub repo: https://github.com/flathub/io.github.Cockatrice.cockatrice @subpop (request: https://github.com/flathub/flathub/pull/98)
Can you explain how this works exactly, what is needed and how is a new version deployed to flathub?
Maybe we could include a flatpak deploy to flathub in travis, too. It targets a huge spectrum of linux users.
There is also the possibility to use https://appimage.org/.
Right now, I update the Flatpak manifest by hand when new versions come out. It would be neat to get Travis to submit a PR against that Flathub repo with an updated JSON manifest.
Most helpful comment
Fedora now has cockatrice in its official repositories (maintained by me). Taking the Fedora spec file and porting it to openSUSE is probably fairly straightforward.