archive of Gits now collects also submodules, some maintenance

This commit is contained in:
Trilarion
2019-12-20 16:41:32 +01:00
parent c7b5b27563
commit 30ce6187eb
74 changed files with 1036 additions and 168 deletions

View File

@@ -0,0 +1,59 @@
"""
Detects the submodules in the Git repositories via "git show HEAD:.gitmodules" and adds them to the list of
repositories to be checked out. Works on bare repositories.
"""
import json
import re
import urllib.parse
from utils.utils import *
from utils.archive import *
if __name__ == '__main__':
regex_submodules = re.compile(r"url = (\S*)", re.MULTILINE)
# get this folder
root_folder = os.path.realpath(os.path.dirname(__file__))
archive_folder = os.path.join(root_folder, 'archive')
# read archives.json
text = read_text(os.path.join(root_folder, 'archives.json'))
archives = json.loads(text)
# loop over all git archives
submodules = []
for repo in archives['git']:
git_folder = git_folder_name(repo)
folder = os.path.join(archive_folder, 'git', git_folder)
if not os.path.isdir(folder):
print('Warning: folder {} does not exist'.format(git_folder))
continue
os.chdir(folder)
try:
content = subprocess_run(['git', 'show', 'HEAD:.gitmodules'], False)
except:
continue
matches = regex_submodules.findall(content)
# resolve relative urls
matches = [urllib.parse.urljoin(repo, x) if x.startswith('..') else x for x in matches]
submodules.extend(matches)
# transform git://github.com to https://github.com
for a, b in (('git://github.com', 'https://github.com'), ('git@github.com:', 'https://github.com/'), ('git+ssh://git@github.com', 'https://github.com')):
submodules = [b + x[len(a):] if x.startswith(a) else x for x in submodules]
# let all github repos end on ".git"
submodules = [x + '.git' if 'github.com' in x and not x.endswith('.git') else x for x in submodules]
# eliminate those which are duplicates and those which are in archives already
submodules = set(submodules) - set(archives['git'])
submodules = sorted(list(submodules))
# TODO single dots are not yet resolved correctly, for example in https://github.com/henkboom/pax-britannica.git
submodules = [x for x in submodules if not any([x.startswith(y) for y in ('.', 'git@')])]
# store them
print('found {} submodules'.format(len(submodules)))
write_text(os.path.join(root_folder, 'archives.git-submodules.json'), json.dumps(submodules, indent=1))

View File

@@ -16,33 +16,7 @@ Note: May need to set http.postBuffer (https://stackoverflow.com/questions/17683
import json
from utils.utils import *
def derive_folder_name(url, replaces):
sanitize = lambda x: x.replace('/', '.')
for service in replaces:
if url.startswith(service):
url = replaces[service] + url[len(service):]
return sanitize(url)
for generic in ['http://', 'https://', 'git://', 'svn://']:
if url.startswith(generic):
url = url[len(generic):]
return sanitize(url)
raise Exception('malformed url')
def git_folder_name(url):
replaces = {
'https://github.com': 'github',
'https://git.code.sf.net/p': 'sourceforge',
'https://git.tuxfamily.org': 'tuxfamily',
'https://git.savannah.gnu.org/git': 'savannah.gnu',
'https://gitlab.com': 'gitlab',
'https://gitorious.org': 'gitorious',
'https://anongit.': '',
'https://bitbucket.org': 'bitbucket'
}
return derive_folder_name(url, replaces)
from utils.archive import *
def git_clone(url, folder):
@@ -87,9 +61,12 @@ def hg_update(folder):
os.chdir(folder)
subprocess_run(['hg', 'pull', '-u'])
def run_update(type, urls):
def run_update(type, urls, type_folder=None):
if type_folder is None:
type_folder = type
print('update {} {} archives'.format(len(urls), type))
base_folder = os.path.join(archive_folder, type)
base_folder = os.path.join(archive_folder, type_folder)
if not os.path.exists(base_folder):
os.mkdir(base_folder)
@@ -177,6 +154,13 @@ if __name__ == '__main__':
text = read_text(os.path.join(root_folder, 'archives.json'))
archives = json.loads(text)
# read archives.git-submodules.json
text = read_text(os.path.join(root_folder, 'archives.git-submodules.json'))
archives_git_submodules = json.loads(text)
# run update on submodules
# run_update('git', archives_git_submodules, 'git-submodules')
# update
for type in archives:
if type not in supported_types:

View File

@@ -0,0 +1,556 @@
[
"git://git.guelker.eu/pod-cpp.git",
"git://git.guelker.eu/tinyclipboard.git",
"git://git.thousandparsec.net/git/schemepy.git",
"http://luajit.org/git/luajit-2.0.git",
"https://bitbucket.org/ecwolf/sdl.git",
"https://bitbucket.org/ecwolf/sdl_mixer-for-ecwolf.git",
"https://bitbucket.org/ecwolf/sdl_net.git",
"https://bitbucket.org/nyan_developer/nya-engine.git",
"https://boringssl.googlesource.com/boringssl",
"https://chromium.googlesource.com/breakpad/breakpad",
"https://github.com/Aleph-One-Marathon/data-marathon-2.git",
"https://github.com/Aleph-One-Marathon/data-marathon-infinity.git",
"https://github.com/Aleph-One-Marathon/data-marathon.git",
"https://github.com/AmrikSadhra/g3log.git",
"https://github.com/AndresTraks/BulletSharpPInvoke.git",
"https://github.com/BalazsJako/ImGuiColorTextEdit.git",
"https://github.com/BrianGladman/sha.git",
"https://github.com/CallumDev/FontConfigSharp.git",
"https://github.com/CallumDev/lidgren-network-gen3.git",
"https://github.com/DaemonEngine/CBSE-Toolchain.git",
"https://github.com/DaemonEngine/breakpad.git",
"https://github.com/DaemonEngine/crunch.git",
"https://github.com/DaemonEngine/recastnavigation.git",
"https://github.com/DusteDdk/list.git",
"https://github.com/Extrawurst/cimgui.git",
"https://github.com/FIX94/fixNES.git",
"https://github.com/FNA-XNA/FNA.git",
"https://github.com/Facepunch/Facepunch.Steamworks.git",
"https://github.com/GTA-ASM/MirrorLite.git",
"https://github.com/GameFoundry/bsf.git",
"https://github.com/GentenStudios/bgfx.cmake.git",
"https://github.com/GlPortal/RadixEngine.git",
"https://github.com/GlPortal/documentation.git",
"https://github.com/GlPortal/glportal-data.git",
"https://github.com/Grumbel/uitest.git",
"https://github.com/Jakz/openmom-editor.git",
"https://github.com/JonnyH/glm.git",
"https://github.com/JonnyH/libsmacker.git",
"https://github.com/JonnyH/miniz.git",
"https://github.com/JonnyH/physfs-hg-import.git",
"https://github.com/JuliaStrings/utf8proc.git",
"https://github.com/KhronosGroup/SPIRV-Headers.git",
"https://github.com/KhronosGroup/Vulkan-Headers.git",
"https://github.com/LaurentGomila/SFML.git",
"https://github.com/LibVNC/libvncserver.git",
"https://github.com/Librelancer/Collada141.git",
"https://github.com/Lyndir/Pearl.git",
"https://github.com/Lyndir/love-lyndir.client.git",
"https://github.com/MegaGlest/megaglest-data.git",
"https://github.com/MegaGlest/megaglest-masterserver.git",
"https://github.com/MegaGlest/mojosetup-fork.git",
"https://github.com/Microsoft/DirectXTex.git",
"https://github.com/MonoGame/MonoGame.Dependencies.git",
"https://github.com/OpenFodder/data.git",
"https://github.com/Orphis/boost-cmake.git",
"https://github.com/Perlmint/glew-cmake.git",
"https://github.com/Ponup/api-cpp-client.git",
"https://github.com/Ponup/engine-desktop.git",
"https://github.com/REGoth-project/BsZenLib.git",
"https://github.com/REGoth-project/CAB-Installer-Extractor.git",
"https://github.com/Return-To-The-Roots/languages.git",
"https://github.com/Return-To-The-Roots/libendian.git",
"https://github.com/Return-To-The-Roots/liblobby.git",
"https://github.com/Return-To-The-Roots/libsiedler2.git",
"https://github.com/Return-To-The-Roots/libutil.git",
"https://github.com/Return-To-The-Roots/mygettext.git",
"https://github.com/Return-To-The-Roots/s25edit.git",
"https://github.com/Return-To-The-Roots/s25update.git",
"https://github.com/RigsOfRods/content.git",
"https://github.com/RigsOfRods/ogre-pagedgeometry.git",
"https://github.com/Robmaister/SharpFont.git",
"https://github.com/Sebanisu/zzzDeArchive.git",
"https://github.com/SirCmpwn/fNbt.git",
"https://github.com/StbSharp/StbImageSharp.git",
"https://github.com/StbSharp/StbImageWriteSharp.git",
"https://github.com/SuperTux/SDL_ttf.git",
"https://github.com/SuperTux/physfs.git",
"https://github.com/SuperTux/sexp-cpp.git",
"https://github.com/SuperTux/tinygettext.git",
"https://github.com/SuperV1234/SSVLuaWrapper.git",
"https://github.com/SuperV1234/SSVMenuSystem.git",
"https://github.com/SuperV1234/SSVStart.git",
"https://github.com/SuperV1234/SSVUtils.git",
"https://github.com/SuperV1234/vrm_cmake.git",
"https://github.com/SuperV1234/vrm_pp.git",
"https://github.com/TalonBraveInfo/newton-dynamics.git",
"https://github.com/TalonBraveInfo/platform.git",
"https://github.com/TartanLlama/optional.git",
"https://github.com/Tencent/rapidjson.git",
"https://github.com/TheAssemblyArmada/BaseConfig.git",
"https://github.com/TheAssemblyArmada/Baseconfig.git",
"https://github.com/TheAssemblyArmada/CaptainsLog.git",
"https://github.com/TheAssemblyArmada/SetSail.git",
"https://github.com/TheAssemblyArmada/gamemath.git",
"https://github.com/ThePhD/sol2.git",
"https://github.com/Try/MoltenTempest.git",
"https://github.com/Try/ZenLib.git",
"https://github.com/TsudaKageyu/minhook.git",
"https://github.com/Unvanquished/libRocket.git",
"https://github.com/UnvanquishedAssets/unvanquished_src.dpkdir.git",
"https://github.com/ValyriaTear/luabind.git",
"https://github.com/ValyriaTear/vt-utils.git",
"https://github.com/Wohlstand/libADLMIDI/.git",
"https://github.com/aap/geniedoc.git",
"https://github.com/accumulators.git",
"https://github.com/ajweeks/glm.git",
"https://github.com/albertodemichelis/squirrel.git",
"https://github.com/alecthomas/entityx.git",
"https://github.com/algorithm.git",
"https://github.com/align.git",
"https://github.com/anttisalonen/libcommon.git",
"https://github.com/antze-k/miso.git",
"https://github.com/anura-engine/imgui.git",
"https://github.com/any.git",
"https://github.com/arescentral/antares-data.git",
"https://github.com/arescentral/antares-test-data.git",
"https://github.com/arescentral/procyon.git",
"https://github.com/array.git",
"https://github.com/arsenm/sanitizers-cmake.git",
"https://github.com/aseprite/freetype2.git",
"https://github.com/asio.git",
"https://github.com/assert.git",
"https://github.com/assign.git",
"https://github.com/atomic.git",
"https://github.com/atrinik/atrinik-sound.git",
"https://github.com/atrinik/resources.git",
"https://github.com/auriamg/macdylibbundler.git",
"https://github.com/auto_index.git",
"https://github.com/bazelregistry/sdl2.git",
"https://github.com/bcp.git",
"https://github.com/beast.git",
"https://github.com/bimap.git",
"https://github.com/bind.git",
"https://github.com/bjorn/tiled.git",
"https://github.com/boost_install.git",
"https://github.com/boostbook.git",
"https://github.com/boostdep.git",
"https://github.com/build.git",
"https://github.com/bulletphysics/bullet3.git",
"https://github.com/butter-cat-games/cimguilibs.git",
"https://github.com/c42f/tinyformat.git",
"https://github.com/callable_traits.git",
"https://github.com/canta-media.git",
"https://github.com/castano/nvidia-texture-tools.git",
"https://github.com/cflavio/yyagl.git",
"https://github.com/check_build.git",
"https://github.com/chocolate-doom/quickcheck.git",
"https://github.com/chrono.git",
"https://github.com/circular_buffer.git",
"https://github.com/cocos2d/bindings-generator.git",
"https://github.com/cocos2d/cocos2d-console.git",
"https://github.com/cocos2d/cocos2d-html5.git",
"https://github.com/colobot/colobot-data.git",
"https://github.com/compatibility.git",
"https://github.com/compute.git",
"https://github.com/conatuscreative/fnalibs.git",
"https://github.com/concept_check.git",
"https://github.com/config.git",
"https://github.com/container.git",
"https://github.com/container_hash.git",
"https://github.com/context.git",
"https://github.com/contract.git",
"https://github.com/conversion.git",
"https://github.com/convert.git",
"https://github.com/core.git",
"https://github.com/coroutine.git",
"https://github.com/coroutine2.git",
"https://github.com/crawl/crawl-fonts.git",
"https://github.com/crawl/crawl-freetype.git",
"https://github.com/crawl/crawl-libpng.git",
"https://github.com/crawl/crawl-lua.git",
"https://github.com/crawl/crawl-luajit.git",
"https://github.com/crawl/crawl-pcre.git",
"https://github.com/crawl/crawl-sdl2-image.git",
"https://github.com/crawl/crawl-sdl2-mixer.git",
"https://github.com/crawl/crawl-sdl2.git",
"https://github.com/crawl/crawl-sqlite.git",
"https://github.com/crawl/crawl-zlib.git",
"https://github.com/crc.git",
"https://github.com/cxong/tinydir.git",
"https://github.com/date_time.git",
"https://github.com/dbry/adpcm-xq.git",
"https://github.com/degenerated1123/ZenLib.git",
"https://github.com/degenerated1123/bgfx-cmake.git",
"https://github.com/detail.git",
"https://github.com/discordapp/discord-rpc.git",
"https://github.com/disjoint_sets.git",
"https://github.com/dll.git",
"https://github.com/docca.git",
"https://github.com/dotfloat/fluidsynth-lite.git",
"https://github.com/dr-soft/mini_al.git",
"https://github.com/droidmonkey/python-cmake-buildsystem.git",
"https://github.com/dumganhar/ccs-res.git",
"https://github.com/dynamic_bitset.git",
"https://github.com/egoboo/egoboo-assets.git",
"https://github.com/egoboo/egoboo-external.git",
"https://github.com/egoboo/idlib-game-engine.git",
"https://github.com/endian.git",
"https://github.com/erikd/libsamplerate.git",
"https://github.com/etlegacy/etlegacy-libs.git",
"https://github.com/exception.git",
"https://github.com/fiber.git",
"https://github.com/filesystem.git",
"https://github.com/flathub/shared-modules.git",
"https://github.com/flyweight.git",
"https://github.com/fmtlib/fmt.git",
"https://github.com/foreach.git",
"https://github.com/format.git",
"https://github.com/frabert/libdmusic.git",
"https://github.com/freeminer/default.git",
"https://github.com/freeminer/enet.git",
"https://github.com/function.git",
"https://github.com/function_types.git",
"https://github.com/functional.git",
"https://github.com/fusion.git",
"https://github.com/fuzzylite/fuzzylite.git",
"https://github.com/g-truc/glm.git",
"https://github.com/gabomdq/SDL_GameControllerDB.git",
"https://github.com/geometry.git",
"https://github.com/gerstrong/fheroes2plus.git",
"https://github.com/gil.git",
"https://github.com/glfw/glfw.git",
"https://github.com/gliptic/tl.git",
"https://github.com/google/googletest.git",
"https://github.com/graph.git",
"https://github.com/graph_parallel.git",
"https://github.com/grit-engine/grit-bullet.git",
"https://github.com/grit-engine/grit-freeimage.git",
"https://github.com/grit-engine/grit-lua.git",
"https://github.com/grit-engine/grit-ogre.git",
"https://github.com/grit-engine/grit-util.git",
"https://github.com/grit-engine/grit-windows-prebuilt-dependencies.git",
"https://github.com/gulrak/filesystem.git",
"https://github.com/hana.git",
"https://github.com/hav4ik/tinyai.git",
"https://github.com/headers.git",
"https://github.com/heap.git",
"https://github.com/hhyyrylainen/RubySetupSystem.git",
"https://github.com/histogram.git",
"https://github.com/hjiang/jsonxx.git",
"https://github.com/hof.git",
"https://github.com/hoshi10/astar-algorithm-cpp.git",
"https://github.com/hydren/rapidxml.git",
"https://github.com/icl.git",
"https://github.com/inolen/ioq3.git",
"https://github.com/inspect.git",
"https://github.com/institution/ext.git",
"https://github.com/integer.git",
"https://github.com/interprocess.git",
"https://github.com/interval.git",
"https://github.com/intrusive.git",
"https://github.com/io.git",
"https://github.com/iostreams.git",
"https://github.com/iterator.git",
"https://github.com/ivucica/glict.git",
"https://github.com/ivucica/rules_libsdl12.git",
"https://github.com/ivucica/rules_tibia.git",
"https://github.com/jarikomppa/soloud.git",
"https://github.com/jarro2783/cxxopts.git",
"https://github.com/jazztickets/ae.git",
"https://github.com/jazztickets/cmake.git",
"https://github.com/jhaynie/iphonesim.git",
"https://github.com/jonasmr/microprofile.git",
"https://github.com/kaadmy/pixture.git",
"https://github.com/kcat/openal-soft.git",
"https://github.com/kebby/assimp-net.git",
"https://github.com/krb5/krb5.git",
"https://github.com/kuba--/zip.git",
"https://github.com/lairworks/nas2d-core.git",
"https://github.com/lambda.git",
"https://github.com/laradock/laradock.git",
"https://github.com/leethomason/tinyxml2.git",
"https://github.com/les-sosna/ios-cmake.git",
"https://github.com/lexical_cast.git",
"https://github.com/libogg-1.3.0.git",
"https://github.com/libretro/libretro-common.git",
"https://github.com/libtom/libtommath.git",
"https://github.com/libvorbis-1.3.3.git",
"https://github.com/lispparser/sexp-cpp.git",
"https://github.com/litre.git",
"https://github.com/local_function.git",
"https://github.com/locale.git",
"https://github.com/lockfree.git",
"https://github.com/log.git",
"https://github.com/logic.git",
"https://github.com/logmich/logmich.git",
"https://github.com/lubomyr/uae4all2.git",
"https://github.com/lubomyr/vice-2.4.git",
"https://github.com/lvandeve/lodepng.git",
"https://github.com/mat007/turtle.git",
"https://github.com/math.git",
"https://github.com/meganz/mingw-std-threads.git",
"https://github.com/mellinoe/ImGui.NET.git",
"https://github.com/memononen/fontstash.git",
"https://github.com/metaparse.git",
"https://github.com/miloyip/rapidjson.git",
"https://github.com/miniupnp/miniupnp.git",
"https://github.com/mmatyas/libSDL2pp.git",
"https://github.com/mmatyas/unittest-cpp.git",
"https://github.com/move.git",
"https://github.com/mp11.git",
"https://github.com/mpi.git",
"https://github.com/mpl.git",
"https://github.com/mruby/mruby.git",
"https://github.com/msgpack/msgpack-c.git",
"https://github.com/msm.git",
"https://github.com/multi_array.git",
"https://github.com/multi_index.git",
"https://github.com/multiprecision.git",
"https://github.com/nemtrif/utfcpp.git",
"https://github.com/nielsAD/travis-lazarus.git",
"https://github.com/nlohmann/json.git",
"https://github.com/nothings/stb.git",
"https://github.com/nowide.git",
"https://github.com/numeric_conversion.git",
"https://github.com/numpy/numpydoc.git",
"https://github.com/o11c/attoconf.git",
"https://github.com/oamldev/oaml.git",
"https://github.com/odeint.git",
"https://github.com/oolite-binary-resources.git",
"https://github.com/oolite-linux-dependencies.git",
"https://github.com/oolite-mac-components.git",
"https://github.com/oolite-sdl-dependencies.git",
"https://github.com/oolite-tests.git",
"https://github.com/oolite-windows-dependencies.git",
"https://github.com/ooxi/CMake-Gettext.git",
"https://github.com/open-source-parsers/jsoncpp.git",
"https://github.com/optional.git",
"https://github.com/outcome.git",
"https://github.com/parameter.git",
"https://github.com/parameter_python.git",
"https://github.com/paulsapps/Detours.git",
"https://github.com/paulsapps/SUDM.git",
"https://github.com/paulsapps/TinyXML.git",
"https://github.com/paulsapps/boost_1_63_mini.git",
"https://github.com/paulsapps/googletest.git",
"https://github.com/paulsapps/libdeflate.git",
"https://github.com/paulsapps/luabind.git",
"https://github.com/paulsapps/nativefiledialog.git",
"https://github.com/paulsapps/soxr-0.1.2.git",
"https://github.com/paulsapps/sqrat.git",
"https://github.com/paulsapps/squirrel.git",
"https://github.com/pelya/BasiliskII-android.git",
"https://github.com/pelya/Boost-for-Android.git",
"https://github.com/pelya/Ninslash.git",
"https://github.com/pelya/OpenTTD-JGR-patchpack.git",
"https://github.com/pelya/android-keyboard-gadget.git",
"https://github.com/pelya/android-shmem.git",
"https://github.com/pelya/libiconv-libicu-android.git",
"https://github.com/pelya/liero-android.git",
"https://github.com/pelya/openarena-engine.git",
"https://github.com/pelya/openarena-vm.git",
"https://github.com/pelya/openttd-android.git",
"https://github.com/pelya/pulseaudio-android.git",
"https://github.com/pelya/supertux.git",
"https://github.com/pelya/teeworlds.git",
"https://github.com/pelya/xmoto.git",
"https://github.com/pelya/xserver.git",
"https://github.com/performous/compact_enc_det.git",
"https://github.com/petroules/solar-cmake.git",
"https://github.com/phoenix.git",
"https://github.com/poly_collection.git",
"https://github.com/polygon.git",
"https://github.com/pool.git",
"https://github.com/predef.git",
"https://github.com/preprocessor.git",
"https://github.com/primordialmachine/idlib.git",
"https://github.com/process.git",
"https://github.com/program_options.git",
"https://github.com/property_map.git",
"https://github.com/property_tree.git",
"https://github.com/proto.git",
"https://github.com/ptr_container.git",
"https://github.com/pyca/cryptography.git",
"https://github.com/python.git",
"https://github.com/q-gears/data.git",
"https://github.com/q-gears/luajit.git",
"https://github.com/qml-box2d/qml-box2d.git",
"https://github.com/qnighy/ruby-1.8.1.git",
"https://github.com/qnighy/ruby-1.9.2p0.git",
"https://github.com/quickbook.git",
"https://github.com/qvm.git",
"https://github.com/random.git",
"https://github.com/range.git",
"https://github.com/ratio.git",
"https://github.com/rational.git",
"https://github.com/rds1983/StbSharp.git",
"https://github.com/recastnavigation/recastnavigation.git",
"https://github.com/redeclipse/acerspyro.git",
"https://github.com/redeclipse/actors.git",
"https://github.com/redeclipse/appleflap.git",
"https://github.com/redeclipse/blendbrush.git",
"https://github.com/redeclipse/caustics.git",
"https://github.com/redeclipse/crosshairs.git",
"https://github.com/redeclipse/decals.git",
"https://github.com/redeclipse/dziq.git",
"https://github.com/redeclipse/elyvisions.git",
"https://github.com/redeclipse/fonts.git",
"https://github.com/redeclipse/freezurbern.git",
"https://github.com/redeclipse/john.git",
"https://github.com/redeclipse/jojo.git",
"https://github.com/redeclipse/jwin.git",
"https://github.com/redeclipse/luckystrike.git",
"https://github.com/redeclipse/maps.git",
"https://github.com/redeclipse/mayhem.git",
"https://github.com/redeclipse/mikeplus64.git",
"https://github.com/redeclipse/misc.git",
"https://github.com/redeclipse/molexted.git",
"https://github.com/redeclipse/nieb.git",
"https://github.com/redeclipse/nobiax.git",
"https://github.com/redeclipse/particles.git",
"https://github.com/redeclipse/philipk.git",
"https://github.com/redeclipse/projectiles.git",
"https://github.com/redeclipse/props.git",
"https://github.com/redeclipse/q009.git",
"https://github.com/redeclipse/skyboxes.git",
"https://github.com/redeclipse/snipergoth.git",
"https://github.com/redeclipse/sounds.git",
"https://github.com/redeclipse/textures.git",
"https://github.com/redeclipse/torley.git",
"https://github.com/redeclipse/trak.git",
"https://github.com/redeclipse/ulukai.git",
"https://github.com/redeclipse/unnamed.git",
"https://github.com/redeclipse/vanities.git",
"https://github.com/redeclipse/vegetation.git",
"https://github.com/redeclipse/weapons.git",
"https://github.com/regex.git",
"https://github.com/riperiperi/FSOMina.NET.git",
"https://github.com/riperiperi/FSOMonoGame.git",
"https://github.com/safe_numerics.git",
"https://github.com/sakra/cotire.git",
"https://github.com/sandsmark/genieutils.git",
"https://github.com/satoren/kaguya.git",
"https://github.com/schellingb/TinySoundFont.git",
"https://github.com/scipy/scipy-sphinx-theme.git",
"https://github.com/scope_exit.git",
"https://github.com/serialization.git",
"https://github.com/sfiera/glfw-gyp.git",
"https://github.com/sfiera/gmock-gyp.git",
"https://github.com/sfiera/gn-tools.git",
"https://github.com/sfiera/libmodplug-gyp.git",
"https://github.com/sfiera/libpng-gyp.git",
"https://github.com/sfiera/libsfz.git",
"https://github.com/sfiera/libsndfile-gyp.git",
"https://github.com/sfiera/libzipxx.git",
"https://github.com/sfiera/zlib-gn.git",
"https://github.com/signals2.git",
"https://github.com/singularity/singularity-music-lossless-extended.git",
"https://github.com/singularity/singularity-music-lossless-original.git",
"https://github.com/singularity/singularity-music.git",
"https://github.com/singularity/singularity-osx.git",
"https://github.com/singularity/singularity-windows.git",
"https://github.com/skaslev/gl3w.git",
"https://github.com/skyjake/assimp.git",
"https://github.com/smart_ptr.git",
"https://github.com/sort.git",
"https://github.com/spidermonkey-ff4.git",
"https://github.com/spirit.git",
"https://github.com/spring/CircuitAI.git",
"https://github.com/spring/HughAI.git",
"https://github.com/spring/KAIK.git",
"https://github.com/spring/Python.git",
"https://github.com/spring/Shard.git",
"https://github.com/spring/SpringMapConvNG.git",
"https://github.com/spring/pr-downloader.git",
"https://github.com/spring/pyunitsync.git",
"https://github.com/spring1944/submodule-core.git",
"https://github.com/spring1944/submodule-customCommands.git",
"https://github.com/spring1944/submodule-goals.git",
"https://github.com/spring1944/submodule-notAchili.git",
"https://github.com/spring1944/submodule-strongpoints.git",
"https://github.com/spurious/SDL-mirror.git",
"https://github.com/stacktrace.git",
"https://github.com/statechart.git",
"https://github.com/static_assert.git",
"https://github.com/stephank/villain.git",
"https://github.com/stepmania/ffmpeg.git",
"https://github.com/stepmania/googletest.git",
"https://github.com/stepmania/libtomcrypt.git",
"https://github.com/stepmania/libtommath.git",
"https://github.com/stepmania/ogg.git",
"https://github.com/stepmania/vorbis.git",
"https://github.com/syoyo/tinyobjloader.git",
"https://github.com/system.git",
"https://github.com/taisei-project/SDL_GameControllerDB.git",
"https://github.com/taisei-project/cglm.git",
"https://github.com/team-cube/open-cube-data.git",
"https://github.com/teeworlds/teeworlds-maps.git",
"https://github.com/teeworlds/teeworlds-translation.git",
"https://github.com/test.git",
"https://github.com/themanaworld/tmw-music.git",
"https://github.com/themanaworld/tmw-tools.git",
"https://github.com/thestk/stk.git",
"https://github.com/thread.git",
"https://github.com/throw_exception.git",
"https://github.com/timer.git",
"https://github.com/tinygettext/tinygettext.git",
"https://github.com/tokenizer.git",
"https://github.com/tti.git",
"https://github.com/tuple.git",
"https://github.com/type_erasure.git",
"https://github.com/type_index.git",
"https://github.com/type_traits.git",
"https://github.com/typeof.git",
"https://github.com/ubawurinna/freetype-windows-binaries.git",
"https://github.com/ublas.git",
"https://github.com/units.git",
"https://github.com/unordered.git",
"https://github.com/usineur/android-newraw.git",
"https://github.com/utility.git",
"https://github.com/uuid.git",
"https://github.com/variant.git",
"https://github.com/variant2.git",
"https://github.com/vmd.git",
"https://github.com/wave.git",
"https://github.com/whoozle/clunk.git",
"https://github.com/winapi.git",
"https://github.com/wmcbrine/PDCurses.git",
"https://github.com/wxWidgets/Catch.git",
"https://github.com/wxWidgets/libexpat.git",
"https://github.com/wxWidgets/libjpeg-turbo.git",
"https://github.com/wxWidgets/libpng.git",
"https://github.com/wxWidgets/libtiff.git",
"https://github.com/wxWidgets/nanosvg.git",
"https://github.com/wxWidgets/zlib.git",
"https://github.com/xiph/vorbis.git",
"https://github.com/xpressive.git",
"https://github.com/yap.git",
"https://github.com/zaps166/NFSIISE-ASM.git",
"https://github.com/zaps166/NFSIISE-CPP.git",
"https://github.com/zeromq/libzmq.git",
"https://github.com/zeux/pugixml.git",
"https://gitlab.axiodl.com/amuse.git",
"https://gitlab.axiodl.com/hecl-gui.git",
"https://gitlab.axiodl.com/hecl.git",
"https://gitlab.axiodl.com/jbus.git",
"https://gitlab.axiodl.com/kabufuda.git",
"https://gitlab.axiodl.com/nod.git",
"https://gitlab.axiodl.com/specter.git",
"https://gitlab.axiodl.com/tinyxml2.git",
"https://gitlab.axiodl.com/urde-translations.git",
"https://gitlab.com/cyberegoorg/CETech-externals.git",
"https://gitlab.com/cyberegoorg/CETech-icons-breeze.git",
"https://gitlab.com/hydren/fgeal",
"https://gitlab.com/hydren/futil",
"https://gitlab.com/hydren/libgeramun",
"https://gitlab.com/lierolibre/gvl.git",
"https://gitlab.com/lierolibre/lierolibre-data.git",
"https://gitlab.com/lierolibre/lierolibre-w32depends.git",
"https://gitlab.com/pingus/external/xdg.git",
"https://invent.kde.org/kde/rcharactersheet.git",
"https://invent.kde.org/kde/rolisteam-common.git",
"https://invent.kde.org/kde/rolisteam-diceparser.git",
"https://invent.kde.org/kde/rolisteam-plugins.git"
]

View File

@@ -118,6 +118,7 @@
"https://git.savannah.nongnu.org/git/pacewar.git",
"https://git.savannah.nongnu.org/git/retux.git",
"https://git.savannah.nongnu.org/git/starfighter.git",
"https://git.savannah.nongnu.org/git/stellarengine.git",
"https://git.savannah.nongnu.org/git/tangomon.git",
"https://git.tartarus.org/simon/puzzles.git",
"https://git.tukaani.org/xz.git",
@@ -191,6 +192,7 @@
"https://github.com/Duion/Uebergame.git",
"https://github.com/DusteDdk/SDL-Ball.git",
"https://github.com/DusteDdk/Wizznic.git",
"https://github.com/DusteDdk/osgg.git",
"https://github.com/EMC23/JiGS-PHP-RPG-engine.git",
"https://github.com/EXL/NXEngine.git",
"https://github.com/EasyRPG/Player.git",
@@ -383,6 +385,7 @@
"https://github.com/VilleKrumlinde/zgameeditor.git",
"https://github.com/Vocaluxe/Vocaluxe.git",
"https://github.com/WAUthethird/Marble-Marcher-Community-Edition.git",
"https://github.com/Wargus/stratagus.git",
"https://github.com/Wargus/wargus.git",
"https://github.com/Warzone2100/warzone2100.git",
"https://github.com/WaveHack/OpenDominion.git",
@@ -540,6 +543,9 @@
"https://github.com/dulsi/ostrichriders.git",
"https://github.com/dungeons-of-moria/umoria.git",
"https://github.com/dxx-rebirth/dxx-rebirth.git",
"https://github.com/e-ucm/eAdventure-legacy.git",
"https://github.com/e-ucm/eAdventure.git",
"https://github.com/e-ucm/uAdventure.git",
"https://github.com/ebuc99/pacman.git",
"https://github.com/ec429/harris.git",
"https://github.com/egoboo/egoboo.git",
@@ -1027,6 +1033,7 @@
"https://gitlab.com/osgames/atomiks.git",
"https://gitlab.com/osgames/attal.git",
"https://gitlab.com/osgames/avanor.git",
"https://gitlab.com/osgames/ballandpaddle.git",
"https://gitlab.com/osgames/ballerburg.git",
"https://gitlab.com/osgames/batnav.git",
"https://gitlab.com/osgames/billiards.git",

View File

@@ -52,6 +52,7 @@ http://slick.ninjacave.com/
http://snowstorm.sourceforge.net/cgi-bin/site.cgi
http://sol.gfxile.net/ambrose3d/index.html
http://stage.gamecreation.org/ (all of them)
http://stellarengine.nongnu.org/games.html (all the games)
http://storygamecreator.webs.com/
http://sumwars.org/wiki/Main_Page
http://svn.assembla.com/svn/gdpl/
@@ -123,6 +124,7 @@ http://www.sourceforge.net/projects/ika
http://www.sourceforge.net/projects/lgames (all of them)
http://www.sourceforge.net/projects/stratagus
http://www.spheredev.org/
http://www.surfline.ne.jp/hachi/xsoldier.html
http://www.usgo.org/go-software
http://www.vbgore.com/Main_Page
http://www.zeldaroth.fr/us/zroth.php
@@ -193,10 +195,12 @@ https://github.com/AdamsLair/duality
https://github.com/Alzter/TuxBuilder
https://github.com/amerkoleci/Vortice.Windows
https://github.com/arturkot/the-house-game
https://github.com/asweigart/PythonStdioGames
https://github.com/AtomicGameEngine/AtomicGameEngine
https://github.com/atphalix/nexuiz
https://github.com/azhirnov/FrameGraph
https://github.com/benl23x5/gloss
https://github.com/bernardosulzbach/dungeon
https://github.com/bioglaze/aether3d
https://github.com/bomblik/BlockOut_II_PSVITA
https://github.com/bsmr-games (also contains copies)
@@ -257,6 +261,7 @@ https://github.com/id-Software
https://github.com/Illation/ETEngine
https://github.com/Im-dex/xray-162
https://github.com/jasonrohrer (add gits to his games)
https://github.com/jatinmandav/Gaming-in-Python
https://github.com/JohanLi/uncharted-waters-2
https://github.com/JohnLamontagne/Lunar-Engine
https://github.com/junkdog/artemis-odb
@@ -317,6 +322,7 @@ https://github.com/RoxasShadow/Sottaceto
https://github.com/rramsden/ymir
https://github.com/sabresaurus/SabreCSG
https://github.com/SadConsole/SadConsole
https://github.com/salvadorc17/Prince-Monogame
https://github.com/SanderMertens/flecs
https://github.com/saniv/free-game-art/blob/master/foss-copyright-infringement-records.md
https://github.com/scp-fs2open/fs2open.github.com
@@ -329,6 +335,7 @@ https://github.com/SPC-Some-Polish-Coders/PopHead
https://github.com/SPC-Some-Polish-Coders/PopHead/
https://github.com/stackos/Viry3D
https://github.com/stolencatkarma/CataclysmLD
https://github.com/Suprcode/mir3-zircon
https://github.com/Sygmei/ObEngine
https://github.com/tainicom/Aether.Physics2D
https://github.com/tangziwen/Cube-Engine
@@ -344,7 +351,6 @@ https://github.com/Venom0us/Emberpoint
https://github.com/videogamepreservation
https://github.com/vocollapse/Blockinger
https://github.com/WagicProject/wagic
https://github.com/Wargus/stratagus
https://github.com/wesnoth/haldric
https://github.com/WohlSoft/PGE-Project
https://github.com/xrOxygen/xray-oxygen

37
tools/utils/archive.py Normal file
View File

@@ -0,0 +1,37 @@
"""
"""
def derive_folder_name(url, replaces):
"""
"""
sanitize = lambda x: x.replace('/', '.')
for service in replaces:
if url.startswith(service):
url = replaces[service] + url[len(service):]
return sanitize(url)
for generic in ['http://', 'https://', 'git://', 'svn://']:
if url.startswith(generic):
url = url[len(generic):]
return sanitize(url)
raise Exception('malformed url: {}'.format(url))
def git_folder_name(url):
"""
"""
replaces = {
'https://github.com': 'github',
'https://git.code.sf.net/p': 'sourceforge',
'https://git.tuxfamily.org': 'tuxfamily',
'https://git.savannah.gnu.org/git': 'savannah.gnu',
'https://gitlab.com': 'gitlab',
'https://gitorious.org': 'gitorious',
'https://anongit.': '',
'https://bitbucket.org': 'bitbucket',
'https://gitlab.gnome.org': 'gnome'
}
return derive_folder_name(url, replaces)

View File

@@ -16,9 +16,10 @@ known_languages = ('AGS Script', 'ActionScript', 'Ada', 'AngelScript', 'Assembly
known_licenses = ('2-clause BSD', '3-clause BSD', 'AFL-3.0', 'AGPL-3.0', 'Apache-2.0', 'Artistic License-1.0', 'Artistic License-2.0', 'Boost-1.0', 'CC-BY-NC-3.0', 'CC-BY-NC-SA-2.0', 'CC-BY-NC-SA-3.0', 'CC-BY-SA-3.0', 'CC-BY-NC-SA-4.0', 'CC-BY-SA-4.0', 'CC0', 'Custom', 'EPL-2.0', 'GPL-2.0', 'GPL-3.0', 'IJG', 'ISC', 'Java Research License', 'LGPL-2.0', 'LGPL-2.1', 'LGPL-3.0', 'MAME', 'MIT', 'MPL-1.1', 'MPL-2.0', 'MS-PL', 'MS-RL', 'NetHack General Public License', 'None', 'Proprietary', 'Public domain', 'SWIG license', 'Unlicense', 'WTFPL', 'wxWindows license', 'zlib')
known_multiplayer_modes = ('competitive', 'co-op', 'hotseat', 'LAN', 'local', 'massive', 'matchmaking', 'online', 'split-screen')
code_dependencies_aliases = {'Simple DirectMedia Layer': ('SDL', 'SDL2'), 'Simple and Fast Multimedia Library': 'SFML'}
# TODO put the abbreviations directly in the name line (parenthesis maybe), that is more natural
code_dependencies_aliases = {'Simple DirectMedia Layer': ('SDL', 'SDL2'), 'Simple and Fast Multimedia Library': 'SFML', 'Boost (C++ Libraries)': 'Boost', 'SGE Game Engine': 'SGE'}
code_dependencies_without_entry = {'OpenGL': 'https://www.opengl.org/', 'GLUT': 'https://www.opengl.org/resources/libraries/', 'WebGL': 'https://www.khronos.org/webgl/', 'Unity': 'https://unity.com/solutions/game',
'.NET': 'https://dotnet.microsoft.com/', 'Vulkan': 'https://www.khronos.org/vulkan/'}
'.NET': 'https://dotnet.microsoft.com/', 'Vulkan': 'https://www.khronos.org/vulkan/', 'KDE Frameworks': 'https://kde.org/products/frameworks/'}
regex_sanitize_name = re.compile(r"[^A-Za-z 0-9-+]+")
regex_sanitize_name_space_eater = re.compile(r" +")
@@ -156,10 +157,11 @@ def parse_entry(content):
# now checks on the content of fields
# name should not have spaces at the begin or end
v = info['name']
if len(v) != len(v.strip()): # warning about that
print('Warning: No leading or trailing spaces in the entry name, "{}"'.format(info['name']))
# name and description should not have spaces at the begin or end
for field in ('name', 'description'):
v = info[field]
if len(v) != len(v.strip()): # warning about that
print('Warning: No leading or trailing spaces in field {} in entry "{}"'.format(field, info['name']))
# state (essential field) must contain either beta or mature but not both, but at least one
v = info['state']

View File

@@ -153,9 +153,10 @@ def subprocess_run(cmd, display=True):
"""
result = subprocess.run(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
if result.returncode:
print("error {} in call {}".format(result.returncode, cmd))
print(result.stdout.decode('cp1252'))
print(result.stderr.decode('cp1252'))
if display:
print("error {} in call {}".format(result.returncode, cmd))
print(result.stdout.decode('cp1252'))
print(result.stderr.decode('cp1252'))
raise RuntimeError()
if display:
print(' output: {}'.format(result.stdout.decode('cp1252')))