I've run into this situation three times recently, prompting me to wonder if there is a general approach to handling this. However, advice on the particular examples below would also be appreciated.
I wanted to install the upstream (development version) of the game "Supertux." I found the download page, but it doesn't give a .deb package.
Likewise, the download page for the racing game "Supertuxkart" gives an archive file, but no .deb package.
More recently, I wanted to install the 2.80 beta of Blender. The download file is an archive file, not a .deb package.
All of these packages are available (in an earlier version) from the default package sources, so can be installed with just apt install <packagename>
. They just won't be the upstream, development versions.
I want to install them so they are available for all users of the family computer, not just me. I want to have the desktop launcher files in the usual places (so they show up in the "applications search" from the GUI) and the binaries able to be launched from the usual PATH lookup. Ideally, I would like to have the package versions recorded wherever apt usually stores that information (so that any "apt" commands will show the versions installed).
I know I could do all of this if I had .deb files for the newer versions of these packages.
Is there a usual way to install newer versions of standard packages than the versions available from the default apt sources? If not, what are some typical ways the results above can be accomplished? (Or at least how to install the three packages listed above?)
(I know that software maintainers must fulfill certain requirements to be included in the default apt sources, so it seems possible that there might be some requirement about making newer versions available in some standard way.)
I'm using 18.04 if that makes a difference.
So, there's not going to be easy answers for this, as we are all dependent upon the developers bringing packages to our systems, and if we would prefer debs, we have to hope or convince them to create those packages.
However, there is a way that you can do this with Ubuntu, in the manner that I think you want.
You will need to load onto your system CheckInstall which is available in the Ubuntu repositories. With CheckInstall you can take the source file from a .tar.gz, and build a .deb file for use on your system.
Usage of CheckInstall is on the Ubuntu help page link I gave earlier. The drawback is that you may have to read through the documentation of the source files to ensure that you have any needed dependencies.
I do note also, that SuperTux and SuperTuxKart are available in the latest versions as snap packages, and Blender 2.79b is available in that method as well. I have heard that the snaps will be more up-to-date than what is available in the repositories, and they auto update.