I made some progress; the broken paths are now working, many of the errors have gone and the whole list of games now show as available. I need to clean everything and rebuild with simplified params.
Thanks guys. I didn’t know it would be so hard.
It isn’t that hard.
See my previous posts in this thread.
If you want to build and play the AisleRiot card game follow the steps below. This is using only official Rocky repos, 100% open source, and avoids installing to system locations. In other words this is the safe way to do it.
Gnome projects tend to follow a pattern, and you’ll be able to build other Gnome projects by understanding this one.
Step #1 - Technology used
GDK (GIMP Drawing Kit)
GTK (GIMP ToolKit)
GIO (Gnome Input/Output)
GSettings (remembers the size of the AisleRiot window)
GLib.KeyFile (store game settings in the homedir)
GObject (used in Gnome projects as a kind of object orientation
hard to write, but can be called e.g. from Python with introspection)
Guile and Scheme (language used for the actual card games)
Step #2 - Install packages from official Rocky repos
as root
make sure powertools repo is enabled
dnf repolist
dnf config-manager --set-enabled "powertools"
make sure dev tools are installed
dnf group install "Development Tools"
install packages needed to build software in general
dnf install pkgconf-pkg-config
dnf install ninja-build
dnf install platform-python-devel
dnf install python36-devel
python36, [d][e]
dnf install meson
dnf install glib2-devel
baseos
dnf install gtk3-devel.x86_64
appstream
install packages needed to build AisleRiot
dnf install libappstream-glib-devel
dnf install cairo-devel
dnf install GConf2-devel
dnf install glib2-devel
dnf install gtk3-devel
dnf install guile-devel
dnf install libcanberra-devel
//skip 'qt5-qtsvg-devel' and use librsvg2 instead
dnf install librsvg2-devel
still as root, create a directory for building software
mkdir -p /data/build
set permissions to allow create/read/write/delete for standard user
log out of being root
Step #3 - Build (and then play) the AisleRiot game
this part does NOT need root
as standard user
cd /data/build
decide git or tar?
the tarballs are too old, so we need to use git version which has tar.gz download option
wget "https://gitlab.gnome.org/GNOME/aisleriot/-/archive/master/aisleriot-master.tar.gz"
make sure it looks correct
ls -l aisleriot-master.tar.gz
extract it
tar -xf aisleriot-master.tar.gz
change to the extracted directory
cd /data/build/aisleriot-master
create two directories, one for building, one for “installing”
mkdir builddir/
mkdir inst/
configure it
meson setup builddir --prefix /data/build/aisleriot-master/inst/usr/local -Dtheme_kde_path=/usr/share/carddecks
install it as standard user without affecting any system locations
meson install -C builddir
echo $?
start the game
set the xdg data dirs, ‘glib-2.0/schemas’ will be added to the end of the path
cd /data/build/aisleriot-master
XDG_DATA_DIRS+=:inst/usr/local/share inst/usr/local/bin/sol
inside the game
you might want “Control : Click to move”
Step #4 - to uninstall later
remove the conf file from homedir
cat ~/.config/gnome-games/aisleriot
rm ~/.config/gnome-games/aisleriot
delete everything in ‘builddir’ and ‘inst’
cd /data/build/aisleriot-master
rm -rf inst/
rm -rf builddir/
This is really not a good idea. If you want to build this package yourself then do it properly with package sources and using mock for the build, then you don’t end up having to dig through and manually install a bunch of build dependencies like this on your system and you don’t result with files splattered all over the place on your system without decent management in place
I still don’t understand why there’s all of this gyration going on.
Download the src.rpm that I mentioned above.
Do this:
as root:
dnf install rpmdevtools
dnf builddep aisleriot-3.22.9-3.fc32.src.rpm
exit root, do the following as user:
rpmdev-setuptree
rpmbuild --rebuild aisleriot-3.22.9-3.fc32.src.rpm
That’s literally the entire list of commands that you need to type. The first line installs the basic toolset to allow you to build rpm’s in your home directory, the second command finds and installs all of the development dependencies that aisleriot requires for compiling it, the third command sets up the build tree in your home directory and the fourth command compiles the src.rpm into an executable rpm that you can install and use after it’s finished.
In the three steps above, you don’t ned to install any files to any system location, and they are all in one safe place, which you can delete at any time.
yes, but which package sources and from where?
yes, but which package sources and from where?
As I’ve stated previously in this thread (repeatedly).
aisleriot-3.22.9-3.fc32.src.rpm
That’s the one that I’ve compiled here with no issues arising.
Google can find you many places to download that src.rpm from.
Simply go go google.com and enter the name of that rpm (exactly, including everything from aisleriot to rpm) and you will see several links that will allow you to download that rpm. I see ten on that google search and there are probably more if you look in other places as well.
Download that rpm from you choice of those links (you can even download it from more than one of those links and compare them with cmp or sha256sum if you’re concerned about possible tampering) and then follow the steps that I posted just above this and you’ll be all set.
@pajamian and @gerry666uk are talking more generally, not just about ‘aisleriot’.
There are a lot of problem-domain specific (academic) programs that are not available as RPM, source nor built.
Frankly, I would not let them near admin privileges even on a good day.
Furthermore, users might need multiple versions – for repeatablility of old results. So, one would need “Software Collections” type packaging. Hence, HPC clusters tend to use environment modules.
I try to either find or make a src.rpm for everything that I install on my systems. It’s not too often that I have to make one up from scratch but occasionally I have to do a bit of editing on the spec file or add a patch file of some kind to the compilation process specified in the rpm, but in most cases it’s not all that painful to do.
I dislike having random binaries on my systems that aren’t accounted for as part of the rpm ecosystem and try to avoid them as much as possible.
Tasks of this nature seem to come in two varieties: relatively simple and absolutely impossible. I try to avoid the absolutely impossible ones, of course.
Having said that, I do use appimages for scribus, fbreader and musescore since they’re not particularly easy to install on Rocky otherwise. They do work well as appimages and since they’re self-contained they don’t scatter random bits of whatever across my systems so I’m happy enough with that solution in those cases.
But, as explained above, this is out-of-date, and will probably never be updated, and telling people to “use google” isn’t helpful, nor is telling them to “use mock”, at least in the context of the original poster, who probably isn’t planning to build lots of packages for a repo like ‘epel’.
It does raise an interesting question though, about where something like AisleRiot would be made available to Rokcy, e.g. RedHat probably would not allow it in the official default repos.
What Red Hat includes for RHEL can be in “Rocky repos”.
ELRepo maintains extra drivers.
Remi’s repos have additional PHP versions.
EPEL maintains extra packages.
RPMFusion maintains packages, like codecs, that EPEL doesn’t wan’t to.
What other third-party repositories with good reputation are there for EL8?
Actually, it isn’t out of date.
I just downloaded aisleriot-3.22.9-8.fc35.src.rpm from a Fedora 35 archive.
It’s still version 3.22.9 and that is the current version. The -8 just means that it’s the 8th time it was recompiled for a newer version of Fedora. (There was a requirement for guile added at one point for reasons that I haven’t bothered to look into, but that doesn’t affect the actual program in question.)
Here is the changelog:
- Wed Jul 21 2021 Fedora Release Engineering releng@fedoraproject.org - 1:3.22.9-8
- Rebuilt for Fedora 35 Mass Rebuild - Fedora Project Wiki
- Wed Mar 03 2021 David King amigadave@amigadave.com - 3.22.9-7
- Require guile 2.2 (#1901347)
- Mon Jan 25 2021 Fedora Release Engineering releng@fedoraproject.org - 1:3.22.9-6
- Rebuilt for Fedora 34 Mass Rebuild - Fedora Project Wiki
- Fri Jul 31 2020 Fedora Release Engineering releng@fedoraproject.org - 1:3.22.9-5
- Second attempt - Rebuilt for
Fedora 33 Mass Rebuild - Fedora Project Wiki
- Mon Jul 27 2020 Fedora Release Engineering releng@fedoraproject.org - 1:3.22.9-4
- Rebuilt for Fedora 33 Mass Rebuild - Fedora Project Wiki
- Tue Jan 28 2020 Fedora Release Engineering releng@fedoraproject.org - 1:3.22.9-3
- Rebuilt for Fedora 32 Mass Rebuild - Fedora Project Wiki
- Tue Sep 17 2019 Kalev Lember klember@redhat.com - 1:3.22.9-2
- Disable GConf support
- Mon Sep 09 2019 Kalev Lember klember@redhat.com - 1:3.22.9-1
- Update to 3.22.9
The last update to aisleriot was to version 3.22 which is the same as the rpm that I posted here.
FrankCox your link is gone. I tried adding the Nux repository, but did not install properly… Thanks
Yeah, it turned into such an argument and nobody seemed to need, like or want the one that I had compiled so I took it off of my server again.
Regarding the versions, you can compare these two forum posts
jlehtone, aisleriot-3.22.21-1.fc35.src.rpm, post from Mar 27
FrankCox, aisleriot-3.22.9-8.fc35.src.rpm, post from Apr 03
The list of repos makes perfect sense, but I’m still not sure where a card game would end up? e.g. if we built it with Mock right now, how could we make it available to end users.
FrankCox Thanks for trying to help. I don’t know how to PM on this forum. My computer was down for a while. I’m not a troll and did not want to cause an uproar.