added some code dependencies and maintenance

This commit is contained in:
Trilarion
2019-12-16 23:18:22 +01:00
parent 994c1abc95
commit c7b5b27563
85 changed files with 608 additions and 273 deletions

View File

@@ -1,5 +1,8 @@
{
"git": [
"git://git.blender.org/blender.git",
"git://git.colm.net/ragel.git",
"git://opensimulator.org/git/opensim",
"http://git.artsoft.org/rocksndiamonds.git",
"http://git.pond.sub.org/empserver",
"http://repo.or.cz/intricacy.git",
@@ -123,6 +126,7 @@
"https://git.tuxfamily.org/fanwor/fanwor.git",
"https://git.tuxfamily.org/harmonist/harmonist.git",
"https://git.tuxfamily.org/rba/rogueboxadventures.git",
"https://git.xiph.org/vorbis.git",
"https://github.com/0ad/0ad.git",
"https://github.com/AdamAtomic/flixel.git",
"https://github.com/AdrienTD/wkbre.git",
@@ -313,7 +317,6 @@
"https://github.com/Qalthos/Tile-World.git",
"https://github.com/REGoth-project/REGoth-bs.git",
"https://github.com/REGoth-project/REGoth.git",
"https://github.com/RPG-Paper-Maker/RPG-Paper-Maker.git",
"https://github.com/Rails-18xx/Rails.git",
"https://github.com/Return-To-The-Roots/s25client.git",
"https://github.com/Revolutionary-Games/Thrive.git",
@@ -741,12 +744,14 @@
"https://github.com/nhydock/UlDunAd.git",
"https://github.com/nicolodavis/boardgame.io.git",
"https://github.com/nicupavel/openpanzer.git",
"https://github.com/nigels-com/glew.git",
"https://github.com/nikki-and-the-robots/nikki.git",
"https://github.com/nlarn/nlarn.git",
"https://github.com/nodef0/gorillas-rs.git",
"https://github.com/nornagon/openc2e.git",
"https://github.com/notapixelstudio/superstarfighter.git",
"https://github.com/nukeykt/NBlood.git",
"https://github.com/numpy/numpy.git",
"https://github.com/nuvie/nuvie.git",
"https://github.com/nxengine/nxengine-evo.git",
"https://github.com/ocornut/imgui.git",
@@ -778,11 +783,13 @@
"https://github.com/ospaceteam/outerspace.git",
"https://github.com/ozkriff/zoc.git",
"https://github.com/panda3d/panda3d.git",
"https://github.com/parogers/pgu.git",
"https://github.com/pasky/pachi.git",
"https://github.com/paulsapps/alive.git",
"https://github.com/pelya/commandergenius.git",
"https://github.com/pentagram-u8/pentagram.git",
"https://github.com/performous/performous.git",
"https://github.com/perpendicular-dimensions/blobandconquer.git",
"https://github.com/phobos2077/sfall.git",
"https://github.com/photonstorm/phaser.git",
"https://github.com/pierreyoda/o2r.git",
@@ -807,6 +814,7 @@
"https://github.com/pychess/pychess.git",
"https://github.com/pygame/pygame.git",
"https://github.com/pyglet/pyglet.git",
"https://github.com/python-pillow/Pillow.git",
"https://github.com/q-gears/q-gears.git",
"https://github.com/q4a/scourge.git",
"https://github.com/qbancoffee/infinite-tux.git",
@@ -935,6 +943,7 @@
"https://github.com/ttyborg/erampage.git",
"https://github.com/tukkek/javelin.git",
"https://github.com/turulomio/glparchis.git",
"https://github.com/twisted/twisted.git",
"https://github.com/ufo2000/ufo2000.git",
"https://github.com/ufoai/ufoai.git",
"https://github.com/undefined-darkness/open-horizon.git",
@@ -1147,6 +1156,7 @@
"https://gitlab.com/osgames/radakan.git",
"https://gitlab.com/osgames/rescue.git",
"https://gitlab.com/osgames/rogueclone.git",
"https://gitlab.com/osgames/rosethorn.git",
"https://gitlab.com/osgames/rpdungeon.git",
"https://gitlab.com/osgames/rpge.git",
"https://gitlab.com/osgames/sarah-maries-eierjagd.git",
@@ -1181,6 +1191,7 @@
"https://gitlab.com/osgames/tressette.git",
"https://gitlab.com/osgames/trophy.git",
"https://gitlab.com/osgames/tumiki.git",
"https://gitlab.com/osgames/turious.git",
"https://gitlab.com/osgames/tuxfootball.git",
"https://gitlab.com/osgames/tuxracer.git",
"https://gitlab.com/osgames/uaf.git",
@@ -1218,17 +1229,77 @@
"https://gitlab.gnome.org/GNOME/gcompris.git",
"https://gitlab.gnome.org/GNOME/gnome-chess.git",
"https://gitlab.gnome.org/GNOME/gnome-mines.git",
"https://gitlab.gnome.org/GNOME/gtk.git",
"https://gitlab.gnome.org/GNOME/libxml2.git",
"https://gitlab.gnome.org/GNOME/quadrapassel.git",
"https://gitlab.openrsc.com/open-rsc/Game.git",
"https://gitlab.openrsc.com/open-rsc/Single-Player.git",
"https://gitorious.org/turious/turious.git",
"https://repo.or.cz/pachi.git",
"https://salsa.debian.org/games-team/bloboats.git",
"https://src.fedoraproject.org/rpms/blobwars.git"
],
"svn": [
"http://svn.uktrainsim.com/svn/openrails"
"http://svn.icculus.org/duke3d/",
"http://svn.icculus.org/nexuiz/trunk/",
"http://svn.icculus.org/rott/trunk/",
"http://svn.savannah.gnu.org/svn/chess",
"http://svn.uktrainsim.com/svn/openrails",
"https://svn.code.sf.net/p/balder/code",
"https://svn.code.sf.net/p/blobby/code",
"https://svn.code.sf.net/p/bloodmasters/code",
"https://svn.code.sf.net/p/bombic2/code",
"https://svn.code.sf.net/p/crossfire/code",
"https://svn.code.sf.net/p/d2x-xl/code",
"https://svn.code.sf.net/p/daimonin/code",
"https://svn.code.sf.net/p/domination/code",
"https://svn.code.sf.net/p/dopewars/code",
"https://svn.code.sf.net/p/ecksdee/svn",
"https://svn.code.sf.net/p/ettu/code",
"https://svn.code.sf.net/p/etw/code",
"https://svn.code.sf.net/p/extremetuxracer/code",
"https://svn.code.sf.net/p/facsimulation/code",
"https://svn.code.sf.net/p/foobillardplus/code",
"https://svn.code.sf.net/p/freemars/code",
"https://svn.code.sf.net/p/freesynd/code",
"https://svn.code.sf.net/p/funnyboat/code",
"https://svn.code.sf.net/p/galaxyv2/code",
"https://svn.code.sf.net/p/gustysserpents/svn",
"https://svn.code.sf.net/p/hhexen/code",
"https://svn.code.sf.net/p/javacrpg/code",
"https://svn.code.sf.net/p/krank/code",
"https://svn.code.sf.net/p/lcsgame/code",
"https://svn.code.sf.net/p/lgames/code",
"https://svn.code.sf.net/p/moagg/code",
"https://svn.code.sf.net/p/openalchemist/code",
"https://svn.code.sf.net/p/openfrag/code",
"https://svn.code.sf.net/p/pio/code",
"https://svn.code.sf.net/p/planeshift/code",
"https://svn.code.sf.net/p/plib/code",
"https://svn.code.sf.net/p/powermanga/code",
"https://svn.code.sf.net/p/privateer/code",
"https://svn.code.sf.net/p/quakespasm/code",
"https://svn.code.sf.net/p/rsfs/code",
"https://svn.code.sf.net/p/sokosolve/code",
"https://svn.code.sf.net/p/spacezero/code",
"https://svn.code.sf.net/p/speed-dreams/code",
"https://svn.code.sf.net/p/stargus/code",
"https://svn.code.sf.net/p/sundog/code",
"https://svn.code.sf.net/p/therush/code",
"https://svn.code.sf.net/p/toohardforyou/code",
"https://svn.code.sf.net/p/tpb3d/code",
"https://svn.code.sf.net/p/trigger-rally/code",
"https://svn.code.sf.net/p/uhexen2/code",
"https://svn.code.sf.net/p/ultimatestunts/code",
"https://svn.code.sf.net/p/ultrastar/code",
"https://svn.code.sf.net/p/vassalengine/svn",
"https://svn.code.sf.net/p/vpinball/code",
"https://svn.code.sf.net/p/xbak/code",
"https://svn.code.sf.net/p/xswingplus/code",
"https://svn.code.sf.net/p/xu4/code",
"https://svn.code.sf.net/p/zaz/code",
"https://svn.icculus.org/twilight/trunk/darkplaces/",
"svn://raydium.org/raydium/trunk",
"svn://svn.zoy.org/abuse/abuse/trunk"
],
"hg": [
"http://hg.assembla.com/parpg-core",
@@ -1257,8 +1328,5 @@
"https://bitbucket.org/ryzom/ryzomcore",
"https://bitbucket.org/sumwars/sumwars-code",
"https://bitbucket.org/thesheep/fujo/src"
],
"bzr": [
"https://code.launchpad.net/heroesofwesnoth"
]
}

View File

@@ -270,6 +270,7 @@ https://github.com/LgLinus/StrategyGame
https://github.com/libretro/libretro-chailove
https://github.com/libretro/libretro-prboom
https://github.com/ligurio/awesome-ttygames
https://github.com/luciopanepinto/pacman
https://github.com/MarcoLizza/tofu-engine
https://github.com/MatthewTheGlutton/HideousDestructor
https://github.com/McKay42/McOsu
@@ -356,9 +357,11 @@ https://gitlab.com/nyov/nyovs-nexuiz
https://gitlab.com/vgstation/vgstation-old (and vgstation in general)
https://gitlab.com/xonlegacy/xonlegacy
https://gitlab.openrsc.com/open-rsc
https://gitorious.org/index-list.html (are there other interesting games)
https://gottcode.org/ (all)
https://itch.io/ (scrape, look for open source)
https://jcrpg.blogspot.de/
https://jotd.pagesperso-orange.fr/ (several games)
https://kde.org/applications/games/ (all of them)
https://lgdb.org/ (ask on reddit for archived version)
https://lgdb.org/engine/rawgl

View File

@@ -632,6 +632,9 @@ def git_repo(repo):
if repo.startswith(service):
return repo
if repo.startswith('git://'):
return repo
# the rest is ignored
return None
@@ -640,7 +643,7 @@ def svn_repo(repo):
"""
"""
if repo.startswith('https://svn.code.sf.net/p/') and repo.endswith('/code/'):
if repo.startswith('https://svn.code.sf.net/p/'):
return repo
if repo.startswith('http://svn.uktrainsim.com/svn/'):
@@ -648,6 +651,15 @@ def svn_repo(repo):
if repo is 'https://rpg.hamsterrepublic.com/source/wip':
return repo
if repo.startswith('http://svn.savannah.gnu.org/svn/'):
return repo
if repo.startswith('svn://'):
return repo
if repo.startswith('https://svn.icculus.org/') or repo.startswith('http://svn.icculus.org/'):
return repo
# not svn
return None
@@ -667,22 +679,14 @@ def hg_repo(repo):
return None
def bzr_repo(repo):
if repo.startswith('https://code.launchpad.net/'):
return repo
# not bzr
return None
def export_primary_code_repositories_json():
def export_primary_code_repositories_json(infos):
"""
"""
print('export to json for local repository update')
primary_repos = {'git':[],'svn':[],'hg':[],'bzr':[]}
primary_repos = {'git': [], 'svn': [], 'hg': []}
unconsumed_entries = []
# for every entry filter those that are known git repositories (add additional repositories)
@@ -718,24 +722,23 @@ def export_primary_code_repositories_json():
primary_repos['hg'].append(url)
consumed=True
continue
url = bzr_repo(repo)
if url:
primary_repos['bzr'].append(url)
consumed=True
continue
if not consumed:
unconsumed_entries.append([info['name'], info[field]])
# print output
#if info['code repository']:
# print('Entry "{}" unconsumed repo: {}'.format(info['name'], info[field]))
#if not info['code repository']:
# print('Entry "{}" unconsumed repo: {}'.format(info['name'], info[field]))
if 'code repository' in info:
print('Entry "{}" unconsumed repo: {}'.format(info['name'], info[field]))
# sort them alphabetically (and remove duplicates)
for k, v in primary_repos.items():
primary_repos[k] = sorted(set(v))
# statistics of gits
git_repos = primary_repos['git']
print('{} Git repositories'.format(len(git_repos)))
for domain in ('repo.or.cz', 'anongit.kde.org', 'bitbucket.org', 'git.code.sf.net', 'git.savannah', 'git.tuxfamily', 'github.com', 'gitlab.com', 'gitlab.com/osgames', 'gitlab.gnome.org'):
print('{} on {}'.format(sum(1 if domain in x else 0 for x in git_repos), domain))
# write them to tools/git
json_path = os.path.join(c.root_path, 'tools', 'archives.json')
text = json.dumps(primary_repos, indent=1)
@@ -977,7 +980,7 @@ if __name__ == "__main__":
export_json(infos)
# collect list of primary code repositories
export_primary_code_repositories_json()
export_primary_code_repositories_json(infos)
# check code dependencies
check_code_dependencies(infos)

View File

@@ -130,6 +130,7 @@ PyTouhou (http://pytouhou.linkmauve.fr/,http://hg.linkmauve.fr/touhou): Sources
Racer (http://racer.sourceforge.net/, http://sourceforge.net/projects/racer/): Very early development, Inactive
realmforge (https://sourceforge.net/projects/realmforge/): Went commercial
Robotypo (http://robotypo.appspot.com/index.html, https://code.google.com/archive/p/robotypo/): Very early development, No license, long abandoned
RPG Paper Maker (http://rpg-paper-maker.com/?i=1, https://github.com/RPG-Paper-Maker/RPG-Paper-Maker.git): Closed, proprietary source, usage free for non-commercial use
Ruby OMF 2097 Remake (http://rubyomf2097.rubyforge.org/, svn://rubyforge.org/var/svn/rubyomf2097): No source code found, web site offline
RuneSword II (https://sourceforge.net/projects/runesword/, http://runesword.sourceforge.net/, https://github.com/mattiascibien/Runesword.net, https://github.com/aceofspades19/Runesword-II-OS.Net, http://www.runesword.com/rs2.html): No license found
Schwertreiter (https://sourceforge.net/projects/schwertreiter/): No license information, early development, long abandoned

View File

@@ -24,7 +24,7 @@ def derive_folder_name(url, replaces):
if url.startswith(service):
url = replaces[service] + url[len(service):]
return sanitize(url)
for generic in ['http://', 'https://']:
for generic in ['http://', 'https://', 'git://', 'svn://']:
if url.startswith(generic):
url = url[len(generic):]
return sanitize(url)
@@ -87,23 +87,6 @@ def hg_update(folder):
os.chdir(folder)
subprocess_run(['hg', 'pull', '-u'])
def bzr_folder_name(url):
replaces = {
'https://code.launchpad.net': 'launchpad',
}
return derive_folder_name(url, replaces)
def bzr_clone(url, folder):
subprocess_run(['bzr', 'branch', url, folder])
def bzr_update(folder):
os.chdir(folder)
subprocess_run(['bzr', 'pull'])
def run_update(type, urls):
print('update {} {} archives'.format(len(urls), type))
base_folder = os.path.join(archive_folder, type)
@@ -166,27 +149,24 @@ def run_info(type, urls):
if __name__ == '__main__':
supported_types = ['git', 'hg', 'svn'] # currently no bzr client installed
supported_types = ['git', 'hg', 'svn']
folder_name = {
'git': git_folder_name,
'svn': svn_folder_name,
'hg': hg_folder_name,
'bzr': bzr_folder_name
}
clone = {
'git': git_clone,
'svn': svn_clone,
'hg': hg_clone,
'bzr': bzr_clone
}
update = {
'git': git_update,
'svn': svn_update,
'hg': hg_update,
'bzr': bzr_update
}
# get this folder

View File

@@ -17,7 +17,8 @@ known_licenses = ('2-clause BSD', '3-clause BSD', 'AFL-3.0', 'AGPL-3.0', 'Apache
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'}
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'}
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/'}
regex_sanitize_name = re.compile(r"[^A-Za-z 0-9-+]+")
regex_sanitize_name_space_eater = re.compile(r" +")

View File

@@ -2,4 +2,19 @@
Everything specific to the Github API (via PyGithub).
"""
from github import Github
from github import Github
def retrieve_repo_info(repos):
"""
For a list of Github repos, retrieves repo information
"""
result = []
g = Github()
for repo in repos:
r = g.get_repo(repo)
e = {'archived': r.archived, 'description': r.description, 'language': r.language,
'last modified': r.last_modified, 'open issues count': r.open_issues_count,
'stars count': r.stargazers_count, 'topics': r.topics, 'repo': repo}
result.append(e)
return result