The last PhysFS 1 release was in March 2009. The last PhysFS 2 release
was in August 2017, shortly before the release of PhysFS 3 in September
2017. Most distributions have moved to PhysFS 3. Drop support for
PhysFS 1 and PhysFS 2. PhysFS 2 support could be restored if there is
interest.
According to a comment from Kreeblah[1], homebrew guarantees a new
enough C++ compiler. Additionally, gcc5 was once new enough, but is now
below the minimum supported version, so installing it is not useful.
Remove the reference to it.
[1]: https://github.com/dxx-rebirth/dxx-rebirth/pull/540#discussion_r486059009
This adds a new dependency, but most systems likely already have
SDL_image installed. Use of SDL_image can be disabled, but this is
discouraged, because various in-game interfaces assume the use of the
original background.
The old implementation automatically corrected for filename case. The
new implementation expects that the supplied filename can be passed to
PYHSFS_openRead as-is. All known uses in-game have been corrected to
satisfy this requirement. If the new stricter match requirement becomes
a problem, a variant of PHYSFSRWOPS_openRead that adjusts filename case
could be created for use here.
- Update install instructions
- Update ebuild
- Update Arch PKGBUILD
gcc-4.9 support is now difficult to test due to system libraries linking
to newer symbols. gcc-4.9 is unsupported upstream, as are gcc-5 and
gcc-6. Raise the minimum required gcc version to the minimum version
supported upstream.
Debian Jessie shipped gcc-4.9.2, and support for this target was the
primary motivator for retaining gcc-4.9 support. Jessie ended regular
support in June 2018, and will end Long Term Support in June 2020. It
seems unlikely that Jessie would receive a snapshot build of Rebirth in
the months it has left.
Debian Stretch shipped gcc-6, but is currently considered "oldstable"
and has been superseded by Debian Buster. Further, Debian Stretch
provides a package for gcc-7, so Stretch users can still build Rebirth
using only packages available from the package manager.
Rebirth handles this as best it can, but some prerequisites print paths
without quoting. Advise users to avoid the problem by avoiding paths
with embedded spaces.
- Recommend Python 3. Python2 will be end of life soon.
- Recommend PhysFS 3.
- Update link for SCons to current version.
-- Remove the obsolete note disclaiming Python3 support.
- Remove the obsolete note disclaiming SDL2 support. SDL2 works well
now.
- Recommend libpng, since SConstruct will try to use it in the default
configuration.
- Note the presence of Linux packaging files for Arch, RPM systems, and
Gentoo.
Reported-by: AlumiuN <https://github.com/dxx-rebirth/dxx-rebirth/issues/473>
For each link given as http://, verify that the site is accessible over
https:// and, if so, switch to it. These domains were converted:
* llvm.org
* clang.llvm.org
* en.cppreference.com
* www.dxx-rebirth.com
* www.libsdl.org
* www.scons.org
GOG.com resumed selling Descent 1 and Descent 2, albeit as separate SKUs
rather than the historical bundled SKU. Restore the GOG reference in
INSTALL.markdown.
Reported-by: derhass <https://forum.dxx-rebirth.com/showthread.php?tid=1004>
Using <gcc-4.9 has been unsupported since introduction of `extern
constexpr` variables broke using gcc-4.8. Update the install
instructions accordingly.
When referencing 4.9, qualify it as 4.9.4 due to gcc bug #66501 [1]
(present in 4.9.2, fixed in 4.9.4). As discussed in "Socket error upon
hosting or joining a second multiplayer game"
<https://github.com/dxx-rebirth/dxx-rebirth/issues/289>, this bug caused
a strange miscompilation in Rebirth. Although that specific
miscompilation has been worked around, there is no guarantee that the
code is and will remain free of other constructs that gcc-4.9.2
mishandles due to that bug. Using 4.9.2 (as Debian Jessie did) mostly
works, but there is no sense encouraging users to use a known buggy
compiler when a fixed version is readily available.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66501