Innoextract used to fail to build on these archs due to undefined references at
linking time, because of the `--as-needed' linker flag. There was a powerpc
specific fix, but since then mips64 can also build innoextract.
Extend the fix by disabling optimizations on all clang+ld.bfd archs. This only
impacts mips64 now that macppc moved to ld.lld, but may be useful to sparc64
in the future if it moves to clang.
Build tested on mips64 by Yifei Zhan < openbsd () zhan ! science >, and macppc
by me (with ld.lld). There is no impact on other archs.
No objection from thfr@ (maintainer)
The -Wl,--as-needed linker flag causes the std::unique_ptr configure
test to fail due to undefined reference errors. A fallback exists, using
std::auto_ptr, but it has been removed from the C++17 standard, used by
upstream.
Remove the use of -Wl,--as-needed on powerpc, so we use the same code on
all archs, instead of reenabling std::auto_ptr by force.
OK thfr@ (maintainer)
revert to using MASTER_SITES again
successfully extracts a few test archives from GOG.com
While here, add comments with reason for COMPILER=base-clang ports-gcc
(C++17), and reason for WANTLIBs boost_system-mt and pthread which
portcheck lists as "Extra"
Changelog: https://constexpr.org/innoextract/changelog
solution to fix incompatibility with some downloads from GOG.com made
with Inno Setup version that is incompatible with innoextract 1.7
release. Confirmed to fix extraction of Ultimate Doom, no regression on
testing with about a dozen random GOG.com Inno archives.
Take MAINTAINER while here.
hint to use pl versioning and ok bentley@
ok jca@
some existing COMPILER lines with arch restrictions etc. In the usual
case this is now using "COMPILER = base-clang ports-gcc base-gcc" on
ports with c++ libraries in WANTLIB.
This is basically intended to be a noop on architectures using clang
as the system compiler, but help with other architectures where we
currently have many ports knocked out due to building with an unsuitable
compiler -
- some ports require c++11/newer so the GCC version in base that is used
on these archirtectures is too old.
- some ports have conflicts where an executable is built with one compiler
(e.g. gcc from base) but a library dependency is built with a different
one (e.g. gcc from ports), resulted in mixing incompatible libraries in the
same address space.
devel/gmp is intentionally skipped as it's on the path to building gcc -
the c++ library there is unused in ports (and not built by default upstream)
so intending to disable building gmpcxx in a future commit.
Input from landry@, ok sthen@
Inno Setup is a tool to create installers for Microsoft Windows
applications. innoextract allows to extract such installers under
non-windows systems without running the actual installer using Wine.
innoextract is able to unpack GOG.com installers, Wadjet Eye Games
installers (to play with AGS), Arx Fatalis patches (for use with
Arx Libertatis) as well as various other Inno Setup executables.