It might not be a dependency hell, but the 1.31.5.1 linux executable uses at least the following libraries(references to them can be found in the executable file):
- eu4/clausewitz/clausewitzlib
- several eu4/clausewitz/pdx_ (e.g. eu4/clausewitz/pdx_core/CyoDecode.cpp which seems to be a modified version of an open source library)
- eu4/build/external_libs_output/RELEASE/lib/luabind/include/luabind/object.hpp
- external_libs2/boost_1_67_0
- external_libs2/breakpad/2015_10_14
- external_libs2/eigen-eigen-3.3.4
- external_libs2/libcurl/curl-7.63.0
- external_libs2/SDL/SDL2-2.0.4
- external_libs2/steam/steamworks_sdk_135
- external_libs2/nakama/nakama-cpp-sdk-2.4.1
- external_libs2/tbb-devel-117-4.1-1.noarch-linux
- external_libs2/pops_sdk/pops_sdk-1.14.0-beta
These are all in /home/jenkins/workspace. The clausewitz files are surely also under source control, but it might not be the same repository as eu4 and I would not be so sure that anybody still knows which revision was used for an ancient eu4 release.
Version 1.11.4 on the other hand had all the files "/home/rickard" which doesn't make me very confident that there was a build environment in place. And it seems to reference several more external libraries.
Furthermore the old source code might not even compile with their current compiler (for starters eu4 versions before 1.29 were 32bit) or a different compiler version might apply different optimizations which expose bugs in eu4 and break the game in some way. And there might be more files in eu4 which are generated in some way(e.g. the DLC zip files which were directly in the dlc folder in old versions, but moved to subfolders at some point) which need some external tool to generate them.