Skip to content

Commit

Permalink
adapt ports changes
Browse files Browse the repository at this point in the history
  • Loading branch information
PhilippMuigg committed May 11, 2023
1 parent bc1a4fd commit 68d6c7b
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 27 deletions.
28 changes: 10 additions & 18 deletions tools/ports/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -222,25 +222,17 @@ def fetch_project(name, url, sha512hash=None):
port = ports_by_name.get(name)
if not port:
utils.exit_with_error('%s is not a known port' % name)
if not hasattr(port, 'SUBDIR'):
utils.exit_with_error(f'port {name} lacks .SUBDIR attribute, which we need in order to override it locally, please update it')
subdir = port.SUBDIR
target = os.path.join(fullname, subdir)

uptodate_message = f'not grabbing local port: {name} from {path} to {fullname} (subdir: {subdir}) as the destination {target} is newer (run emcc --clear-ports if that is incorrect)'
# before acquiring the lock we have an early out if the port already exists
if os.path.exists(target) and dir_is_newer(path, target):
logger.warning(uptodate_message)

srcZip = os.path.join(path, name + '.zip')
dstZip = os.path.join(Ports.get_dir(), name + '.zip')
if os.path.exists(dstZip) and (os.path.getmtime(dstZip) >= os.path.getmtime(srcZip)):
#early return before locking
return
with cache.lock('unpack local port'):
# Another early out in case another process unpackage the library while we were
# waiting for the lock
if os.path.exists(target) and not dir_is_newer(path, target):
logger.warning(uptodate_message)
return
logger.warning(f'grabbing local port: {name} from {path} to {fullname} (subdir: {subdir})')
utils.delete_dir(fullname)
shutil.copytree(path, target)
with cache.lock('unpack local port'):
if not os.path.exists(dstZip) or (os.path.getmtime(dstZip) < os.path.getmtime(srcZip)):
logger.info('copying port sources from ' + srcZip + ' to ' + dstZip)
shutil.copyfile(srcZip, dstZip)
shutil.unpack_archive(filename=dstZip, extract_dir=fullname)
Ports.clear_project_build(name)
return

Expand Down
14 changes: 10 additions & 4 deletions tools/ports/freetype.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@

import os

TAG = 'version_1'
HASH = '0d0b1280ba0501ad0a23cf1daa1f86821c722218b59432734d3087a89acd22aabd5c3e5e1269700dcd41e87073046e906060f167c032eb91a3ac8c5808a02783'

TAG = 'version_2'
variants = {'freetype-wasm-sjlj': {'SUPPORT_LONGJMP': 'wasm'}}


Expand All @@ -23,7 +21,7 @@ def get_lib_name(settings):


def get(ports, settings, shared):
ports.fetch_project('freetype', f'https://github.com/emscripten-ports/FreeType/archive/{TAG}.zip', sha512hash=HASH)
ports.fetch_project('freetype', '', 'FreeType-' + TAG)

def create(final):
source_path = os.path.join(ports.get_dir(), 'freetype', 'FreeType-' + TAG)
Expand All @@ -47,6 +45,7 @@ def create(final):
'src/base/ftgloadr.c',
'src/base/ftglyph.c',
'src/base/ftgxval.c',
'src/base/fthash.c',
'src/base/ftinit.c',
'src/base/ftlcdfil.c',
'src/base/ftmm.c',
Expand All @@ -55,6 +54,7 @@ def create(final):
'src/base/ftoutln.c',
'src/base/ftpatent.c',
'src/base/ftpfr.c',
'src/base/ftpsprop.c',
'src/base/ftrfork.c',
'src/base/ftsnames.c',
'src/base/ftstream.c',
Expand All @@ -78,6 +78,12 @@ def create(final):
'src/pshinter/pshinter.c',
'src/psnames/psmodule.c',
'src/raster/raster.c',
'src/sdf/ftsdfrend.c',
'src/sdf/ftsdf.c',
'src/sdf/ftbsdf.c',
'src/sdf/ftsdfcommon.c',
'src/sdf/sdf.c',
'src/svg/ftsvg.c',
'src/sfnt/sfnt.c',
'src/smooth/smooth.c',
'src/truetype/truetype.c',
Expand Down
8 changes: 3 additions & 5 deletions tools/ports/zlib.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,17 @@

import os

VERSION = '1.2.13'
HASH = '44b834fbfb50cca229209b8dbe1f96b258f19a49f5df23b80970b716371d856a4adf525edb4c6e0e645b180ea949cb90f5365a1d896160f297f56794dd888659'

TAG = 'version_2'

def needed(settings):
return settings.USE_ZLIB


def get(ports, settings, shared):
ports.fetch_project('zlib', f'https://github.com/madler/zlib/archive/refs/tags/v{VERSION}.tar.gz', sha512hash=HASH)
ports.fetch_project('zlib', '', 'zlib-' + TAG)

def create(final):
source_path = os.path.join(ports.get_dir(), 'zlib', 'zlib-' + VERSION)
source_path = os.path.join(ports.get_dir(), 'zlib', 'zlib-' + TAG)
ports.write_file(os.path.join(source_path, 'zconf.h'), zconf_h)
ports.install_headers(source_path)

Expand Down

0 comments on commit 68d6c7b

Please sign in to comment.