Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix dereference before null check #2

Closed
wants to merge 1 commit into from
Closed

Fix dereference before null check #2

wants to merge 1 commit into from

Conversation

mjunix
Copy link

@mjunix mjunix commented Feb 8, 2022

(I don't have any experience with this codebase so someone should probably review this before merging.)

@lemzwerg
Copy link
Contributor

lemzwerg commented Feb 9, 2022

LGTM, thanks. However, we don't actually use the github tracker. Instead, please use https://gitlab.freedesktop.org/freetype/freetype/-/issues to open a new issue (and close this one). If you want to avoid the work of cloning again, just post the output of git format-patch HEAD^ there.

cherusker pushed a commit that referenced this pull request Nov 16, 2022
This must happen after the NULL check.

Taken from

  #2
@lemzwerg lemzwerg closed this Nov 16, 2022
itrombley added a commit to Esri/freetype that referenced this pull request May 3, 2023
* [truetype] Handle inner/outer index values 0xFFFF/0xFFFF.

This was introduced in OpenType 1.8.4.

* src/truetype/ttgxvar.c (ft_var_load_delta_set_index_mapping,
tt_hvadvance_adjust, ft_var_load_mvar, tt_apply_mvar): Handle special
inner/outer index values.
(ft_var_load_item_variation_store): Add test.

Fixes #1154.

* REAMDE: Mention that gitlab's 'download' button doesn't work.

This is because the `git archive` command doesn't preserve submodules.

Note that currently there is no support for disabling the 'download' button
in gitlab (https://gitlab.com/gitlab-org/gitlab/-/issues/17032).

Fixes issue #1158.

* * subprojects/zlib.wrap: Update to zlib version 1.2.12.

* * builds/toplevel.mk (do-dist): Don't remove meson wrap files.

Fixes #1157.

* [truetype] Move deallocation of `DeltaSetIdxMap` into own function.

This is a preparation for handling `DeltaSetIdxMap` and `VarStore` as a
FreeType service.

* src/truetype/ttgxvar.c (ft_var_done_delta_set_index_map): New function.
(tt_done_blend): Use it.

* [truetype, snft] Add service methods for `DeltaSetIdxMap` and `VarStore`.

This will be needed for 'COLR' v1 variation support.

* src/truetype/ttgxvar.h (GX_ItemVarData, GX_AxisCoords, GX_VarRegion,
GX_VarItemStore, GX_DeltaSetIdxMap): Move structures to...
* include/freetype/internal/ftmmtypes.h: ... this new file.

* include/freetype/internal/service/svmm.h (MultiMasters): Include
`ftmmtypes.h`.
(FT_Var_Load_Delta_Set_Idx_Map_Func, FT_Var_Load_Item_Var_Store_Func,
FT_Var_Get_Item_Delta_Func, FT_Var_Done_Item_Var_Store_Func,
FT_Var_Done_Delta_Set_Idx_Map_Func): New function typedefs.
(MultiMasters): Add them.
(FT_DEFINE_SERVICE_MULTIMASTERSREC): Updated.

* src/cff/cffdrivr.c (cff_load_item_variation_store,
cff_load_delta_set_index_mapping, cff_get_item_delta,
cff_done_item_variation_store, cff_done_delta_set_index_map): New wrapper
methods calling into mm service.
(cff_service_multi_masters): Updated.

* src/truetype/ttgxvar.c (ft_var_load_item_variation_store,
ft_var_load_delta_set_index_mapping, ft_var_get_item_delta,
ft_var_done_item_variation_store, ft_var_done_delta_set_index_map): Renamed
to ...
(tt_var_load_item_variation_store, tt_var_load_delta_set_index_mapping,
tt_var_get_item_delta, tt_var_done_item_variation_store,
tt_var_done_delta_set_index_map): ... this for consistency.
Mark them as non-static.
* src/truetype/ttgxvar.h: Add corresponding prototypes.

* src/truetype/ttdriver.c (tt_service_gx_multi_masters): Updated.

* src/type1/t1driver.c (t1_service_multi_masters): Updated.

* [truetype] Handle 0xFFFF special value inside delta retrieval function

* truetype/ttgxvar.c (tt_hvadvance_adjust, tt_apply_mvar,
tt_var_get_item_delta): Remove special 0xFFFF handling in favor of less
redundant handling inside the tt_var_get_item_delta function, as it is
equivalent to returning a 0 delta. Avoids code-duplication checking for
special value 0xFFFF.

* [truetype] Support reading 32bit/16bit VarStore deltas

* include/freetype/internal/ftmmtypes.h (FT_ItemVarDelta): Define type
to be used for delta arrays, upgrade to FT_long.
* src/truetype/ttgxvar.c: Adhere to long_words bit and read either
Short/Byte pairs or Long/Short pairs, as defined by spec. For better
readability, define macro for repetitive read code.

* * src/sfnt/ttmtx.c (tt_face_get_metrics): Apply variations unconditionally.

This causes a speed-up of approx. 20% for getting advance widths.

* [docs] Update favicon.

* [docs] Use hinted favicon.

* [docs] Correct favicon.

* [svg] Clear correct flags for doc ownership

This issue was discovered with an SVG based font with some documents
compressed and other uncompressed. After loading the first compressed
document the ownership flag on the glyph slot was set to true but never
set to false. As a result after loading a compressed document a glyph
from an uncompressed document would load fine, but when this glyph slot
was cleared it would try to free its document resulting in a wild free.

* src/base/ftobjs.c (ft_glyphslot_clear): clear correct flags

Fixes: #1162

* [svg] Set linear advances when loading SVG glyphs

* include/freetype/freetype.h (FT_GlyphSlotRec_): update doc
* src/cff/cffgload.c (cff_slot_load): do it
* src/truetype/ttgload.c (TT_Load_Glyph): do it

Fixes: #1156

* * src/smooth/ftgrays.c [FT_STATIC_RASTER]: Fix compilation.

* [smooth] Fix GCC LTO crashes on Windows.

Fixes #1164 by using a volatile variable around `setjmp`.  It is hard to
say how this fixes crashes related to certain link-time optimizations.
This does not decrease the rendering performance.

* src/smooth/ftgrays.c (gray_convert_glyph_inner): Use volatile `error`.

* [woff, woff2] Avoid buffer zeroing.

* src/sfnt/sfwoff.c (woff_open_font): Use Q-macros.
* src/sfnt/sfwoff2.c: Ditto.
(reconstruct_font): Allocate table_entry on stack.

* * src/lzw/ftzopen.c (ft_lzwstate_stack_grow): Cosmetic macro change.

* * src/sfnt/sfwoff2.c (woff2_open_font): Partial revert.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=47981.

* [woff] Don't allocate table entries until needed

* src/sfnt/sfwoff.c (woff_open_font): delay allocating space for the
table entries until they are actually written out with the data.

* [gzip] Handle inflate returning Z_NEED_DICT

When `inflate` returns `Z_NEED_DICT` this is currently not reported as
an error and callers may assume that the decompression succeeded when it
did not. In particular, a compressed table in a woff file may not
actually be decompressed and written as expected, leaving the backing
memory for the expanded table uninitialized.

* src/gzlip/ftgzip.c (FT_Gzip_Uncompress): treat `Z_NEED_DICT` as
indicating invalid data since there is no means to provide a dictionary.

Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1335712

* [truetype/GX] Clean up advance adjustment.

* src/truetype/ttgload.c (TT_Process_Simple_Glyph, load_truetype_glyph):
Move the advance adjustment from here...
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): ... to here and
simplify arguments.
* src/truetype/ttgxvar.h (TT_Vary_Apply_Glyph_Deltas): Update prototype
with fewer arguments.

* [type1] Directly search for eexec in private dict

This code originally just searched for `eexec`. This was later modified
to check that the `eexec` found is valid (not in a string or comment).
This was done by searching for `eexec` as before and then, for each
`eexec` found, searching from the beginning using the correct parsing to
see if the `eexec` was still found. If the private dictionary is large
and contains many copies of `eexec` which are not valid, the initial
part of the private dictionary is scanned once for each, potentially
leading to n^2 parsing time.

Instead of finding an initial `eexec` and then re-parsing to discover if
it is valid, drop the initial search for `eexec` and just parse to find
a valid `eexec`. This is strictly faster since the validation must
happen anyway and avoids restarting from the beginning each time an
`eexec` is found in the data.

* src/type1/t1parse.c (T1_Get_Private_Dict): avoid n^2 parsing

Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=1328883

* [truetype/GX] Clean up advance adjustment (Brrr).

* src/truetype/ttgload.c (load_truetype_glyph): Remove remaining code.

* [truetype/GX] Fix an old typo.

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Vertical
advance is measured along y-coordinate.

* [stream] Fix reading s32 when long is s64

`FT_READ_LONG`, `FT_GET_LONG`, and related macros did not return
negative values when `long` is more than 32 bits. `FT_Stream_ReadULong`
would read four bytes into the LSB of an `FT_ULong` and return that.
Since this can never set the MSb of the `FT_ULong` when `FT_ULong` is
more than 32 bits the cast to `FT_Long` never resulted in a negative
value.

Fix this by modifying `FT_Stream_Read*` to return a type of the same
size as the bytes it is reading and changing the `FT_READ_*` and
`FT_GET_*` macros to cast to the same type returned by `FT_Stream_Read*`
but with the correctly signed type (instead of casting to what is
assumed to be the type of `var` which will happen automatically anyway).

There exist a few cases like with the `OFF3` variants where there isn't
generally a type with the correct size. `FT_PEEK_OFF3` works around this
loading the bytes into the three most significant bits and then doing a
signed shift down. `FT_NEXT_OFF3` also already worked correctly by
casting this signed value to another signed type. `FT_Stream_GetUOffset`
works correctly but one must be careful not to attempt to cast the
returned value to a signed type. Fortunately there is only
`FT_GET_UOFF3` and no `FT_GET_OFF3`.

All of these cases are handled correctly when reading values through
`FT_Stream_ReadFields` since it generically computes the signed value
through an `FT_Int32`. This change is essentially doing the same for
these macros.

* include/freetype/internal/ftstream.h (FT_NEXT_*, FT_GET_*, FT_READ*):
Update macros and return types to use fixed size types for fixed size
values.

* src/base/ftstream.c (FT_StreamGet*, FT_StreamRead*): Dito.

Issue: #1161

* [truetype/GX] Clean up phantom point adjustment.

This moves phantom point and advance variation adjustment next to
calculations. The logic stays the same, HVAR and VVAR take priority.

* src/truetype/ttgload.c (load_truetype_glyph): Move it from here...
* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): ... to here
and check for HVAR and VVAR presence outside the main loop.

* [truetype] Clean up phantom point accounting.

This formalizes that the phantom points appended in the outline
do not increase its point count, nor are they tagged or included
in any additional contours.  Only their coordinates are stored.
They are counted in the glyph zone, however.

* src/truetype/ttgxvar.c (TT_Vary_Apply_Glyph_Deltas): Infer `n_points`
from the outline size plus four phantom points.
* src/truetype/ttgxvar.h (TT_Vary_Apply_Glyph_Deltas): Remove this
argument.
* src/truetype/ttgload.c (tt_prepare_zone): Add phantom four.
(TT_Process_Simple_Glyph, load_truetype_glyph): Update all callers.

* [meson] Disable FreeType in HarfBuzz fallback.

This avoids cyclic subproject configuration when the 'harfbuzz' feature is
enabled, or `--wrap-mode=forcefallback` is used, but HarfBuzz is built as a
subproject.  HarfBuzz does the same and disables HarfBuzz support when
configuring FreeType as a subproject.

* meson.build (harfbuzz_dep): Implement it.

* subprojects/harfbuzz.wrap: New file.

* .gitlab-ci.yml [windows meson]: Use latest version of the meson 0.59
  series, which has a necessary bug fix to make CI work.

* Proposal: Feature control for variable COLRv1

* include/freetype/ftdriver.h (variable-color-v1 property): Add documentation
for variable-colr-v1 property.
* src/truetype/ttdriver.c (tt_property_set): Ingest variable-control property
when called, set to enable_variable_colrv1 driver flag.
* src/truetype/ttobjs.h (TT_DriverRec): Add enable_variable_colrv1 flag.

* .gitlab-ci.yml: Correctly upgrade `meson`.

* s/fixed point/fixed-point/

* * ttgload.c (TT_Process_Composite_Glyph): Fix a signedness warning.

* * docs/CHANGES: Announce impending Infinality removal.

* [sfnt] Upgrade stop_offset to FT_Fixed from FT_F2Dot14

* CMakeLists.txt: Move inclusion of `FindPkgConfig` down.

It must come after `CMAKE_TOOLCHAIN_FILE`.

Fixes #1167.

* New function `FT_MulAddFix` to compute the sum of fixed-point products.

This function, based on the code of `FT_MulFix`, uses 64-bit precision
internally for intermediate computations.

* include/freetype/internal/ftcalc.h, base/ftcalc.c (FT_MulAddFix):
Implement it.

* [truetype] Perform variation store delta computation with 64-bit precision.

* include/freetype/internal/ftmmtypes.h (FT_ItemVarDelta): Make type
explicitly 32-bit.
* include/freetype/internal/services/svmm.h
(FT_Var_Get_Item_Delta_Func): Change return type to `FT_ItemVarDelta`
* truetype/ttgxvar.h (tt_var_get_item_delta): Change return type to
`FT_ItemVarDelta`.
* truetype/ttgxvar.c (tt_var_get_item_delta): Store scalars and deltas
to intermediate array, perform computation using new method
`FT_MulAddFix`.

* Fix initialisation of temp variable in new FT_MulAddFix

src/truetype/ttgxvar.c (FT_MulAddFix): Initialise `temp`.

* Minor formatting.

* [base] Round values in `FT_MulAdd_Fix`.

This avoids regressing Blink layout tests and makes `FT_MulAdd_Fix` delta
retrieval implementation consistent with the previous implementation, which
used `FT_fixedToInt` and included rounding.

* src/base/ftcalc.c (FT_MulAdd_Fix): Implement it.
Also fix remaining `temp` initialization compilation issue.

Fixes #1169.

* include/freetype/ftmm.h: Improve documentation.

* CMakeLists.txt: Provide both 'freetype' and 'Freetype::Freetype' targets.

FreeType can be located by consuming projects that use
`find_package(Freetype)` either via the old `MODULE` path (which uses
`FindFreetype.cmake` supplied by CMake), or via the new `CONFIG` path (which
uses `freetype-config.cmake` as supplied by this project).  Up to this point
the CMake module has supplied the target `Freetype::Freetype` and the config
file provided by this project the target `freetype`.  Now we supply both
`freetype` and `Freetype::Freetype` so that consuming projects can always
use the target `Freetype::Freetype` regardless of what path was taken by
`find_package(Freetype)`.

Fixes #1165.

* [base] Improve error handling in `FT_GlyphLoader_CheckPoints`.

If `FT_GlyphLoader_CreateExtra` returns an error (and a couple of other
places), `FT_GlyphLoader_CheckPoints` would propagate the error immediately,
rather than cleaning up the partially set up `FT_GlyphLoader`.  As a
consequence, a subsequent attempt to create a glyph could result in a crash.

* src/base/ftgloadr.c (FT_GlyphLoader_CheckPoints): Ensure all the error
conditions exits are consistent, eventually calling `FT_GlyphLoader_Reset`.

* [sfnt] Load variation store for 'COLR' v1.

* src/sfnt/ttcolr.c: Include `ttobjs.h` temporarily.
(VARIABLE_COLRV1_ENABLED): New temporary macro to detect whether variable
COLRv1 is enabled.
(Colr): New fields `var_store` and `delta_set_idx_map`.
(tt_face_load_colr, tt_face_free_colr) [VARIABLE_COLRV1_ENABLED]: Load and
free variation store data using the functions from the Multiple Masters
service.

* doc: Clarify description of `FT_Stream_IoFunc`.

The existing documentation comments on `FT_Stream_IoFunc` hinted at the dual
seek/read behavior required for custom stream implementations to work, but
it didn't explicitly explain it.  Without looking at the internals of
FreeType, it was easy for someone to assume their implementation should
handle both seek and read operations all the time.  If this is done, you get
a variety of errors, but mostly just `Unknown_File_Format` (error code
0x02).

* [sfnt] Check safety of cast to `TT_Driver` before accessing member.

* src/sfnt/ttcolr.c (VARIABLE_COLRV1_ENABLED): Access
`enable_variable_colrv1` only if driver class matches.

* [sfnt] Apply variation deltas to `PaintVarSolid`.

* src/sfnt/ttcolr.c (FT_PaintFormat_Internal_): New enumeration
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SOLID`.

(get_deltas_for_var_index_base) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: New
function to retrieve an array of delta values, which will be used for most
of 'COLR' v1 variation formats (in follow-up commits).

(read_paint): Add `face` parameter; update caller.
Handle `FT_COLR_PAINTFORMAT_INTERNAL_VAR_SOLID`.

* [sfnt] Support variable 'COLR' v1 color lines.

* include/freetype/ftcolor.h (FT_ColorStopIterator): Add field
`read_variable` to indicate whether a variation index base should be read.

* src/sfnt/ttcolr.c: (FT_PaintFormat_Internal): New enumerations
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_LINEAR_GRADIENT`
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_RADIAL_GRADIENT`, and
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SWEEP_GRADIENT`.
(read_color_line): New parameter `read_variable`; update callers.
(read_paint): Handle new enumerations.

* [sfnt] Deltas for 'COLR' v1 gradient coordinates.

* src/sfnt/ttcolr.c (read_paint) [TT_CONFIG_OPTION_GX_VAR_SUPPORT]: Read and
apply deltas to radial, linear, and sweep gradient coordinates such as 'p0',
'p1', 'p2', 'center', 'radii', and 'angles'.

* [sfnt] Support for 'COLR' v1 variable transforms.

* src/sfnt/ttcolr.c (FT_PaintFormat_Internal): New enumeration value
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_TRANSFORM`.
(read_paint): Handle new enumeration value.

* [sfnt] Support for 'COLR' v1 variable translate.

* src/sfnt/ttcolr.c (FT_PaintFormat_Internal): New enumeration value
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_TRANSLATE`.
(read_paint): Handle new enumeration value.

* [sfnt] Support 'COLR' v1 variable `PaintVarScale*`.

* src/sfnt/ttcolr.c: (FT_PaintFormatInternal): New enumeration values
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SCALE`,
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SCALE_CENTER`,
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SCALE_UNIFORM`, and
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SCALE_UNIFORM_CENTER`.
(read_paint): Handle new enumeration values.

* [sfnt] Support variable 'COLR' v1 `PaintVarRotate*`.

* src/sfnt/ttcolr.c (FT_PaintFormat_Internal): New enumeration values
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_ROTATE` and
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_ROTATE_CENTER`.
(read_paint): Handle new enumeration values.

* [sfnt] Support variable 'COLR' v1 `PaintVarSkew*`.

* src/sfnt/ttcolr.c (FT_PaintFormat_Internal): New enumeration values
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SKEW`,
`FT_COLR_PAINTFORMAT_INTERNAL_SKEW_CENTER`, and
`FT_COLR_PAINTFORMAT_INTERNAL_VAR_SKEW_CENTER`.
(read_paint): Handle new enumeration values.

* [base] Build outlines in amortized constant time.

When resizing the loader's points and contours, resize them to at least 1.5
times their current size.  The code currently only reserves as much space as
is currently required, leading to O(n^2) runtime when adding points one at a
time.

This change does not attempt to ever shrink the loader's point and contour
storage since this was not attempted previously either.  The 1.5 multiple
was chosen as a trade-off between potentially unused space and the runtime.

* src/base/ftgloader.c (FT_GlyphLoader_CheckPoints): Implement it.

Fixes #1173.

* * configure: s/egrep/grep -E/

`egrep` is deprecated.

* * src/pfr/*.c: Trivial improvements and formatting.

* [pfr] Add some safety guards.

* src/pfr/pfrload.c (pfr_phy_font_load): Check resolutions and number of
characters.

Fixes #1174.

* [pfr] Fortify the kerning code.

Any array index must be strictly less then the array size. Therefore,
we must reject indexes that are equal to the array size.  Alternatively,
we should move the bounds check before the index decrement but that
would be confusing.

In addition, it is ok to decrement zero (.notdef) and get UINT_MAX,
which is then automatically rejected in the bounds check.

* src/pfr/pfrobjs.c (pfr_face_get_kerning): Fix the bounds checking.

* Fix clang14 compiler warnings.

* include/freetype/internal/ftstream.h (FT_GET_SHORT_LE, FT_GET_USHORT_LE):
Fix type.

* src/sfnt/ttcolr.c (get_deltas_for_var_index_base): Always return boolean
value.
(tt_face_get_colorline_stops): Fix type of `var_index_base`.

* Fix compilation if `TT_CONFIG_OPTION_GX_VAR_SUPPORT` is not set.

* src/sfnt/ttcolr.c: Protect relevant code with
`TT_CONFIG_OPTION_GX_VAR_SUPPORT`.

* * src/base/ftglyph.c (FT_Get_Glyph): Set `*aglyph` to NULL in case of error.

* * src/autofit/afhints.h: Remove dead code.

* [autofit] Use unsigned accounting for hints.

* src/autofit/afhints.h (AF_AxisHintsRec): Use unsigned types.

* src/autofit/afhints.c (af_axis_hints_new_{segment,edge},
af_glyph_hints_get_num_segments, af_glyph_hints_get_segment_offset):
Updated accordingly.
* src/autofit/aflatin.c (af_cjk_hints_compute_edges): Ditto.
* src/autofit/afcjk.c (af_cjk_hints_compute_edges): Ditto.

* [sfnt] Fix typo in clip box computation.

* src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Use appropriate
scale factor for `yMin` and `yMax`.

* [sfnt] Implement VarClipBox.

* src/sfnt/ttcolr.c (tt_face_get_color_glyph_clipbox): Depending on the
format, read `var_index_base`, then retrieve and apply scaled deltas.

* [psaux] Remove unused structure field.

* include/freetype/internal/psaux.h (PS_TableRec): Remove `num_elems`.
* src/psaux/psobjs.c (ps_table_new): Remoove its initialization.

* [autofit] Updated to reduce casting.

* src/autofit/afglobal.h (AF_FaceGlobalsRec): Change `glyph_count` type.
* src/autofit/afglobal.c (af_face_globals_compute_style_coverage,
af_face_globals_get_metrics, af_face_globals_is_digit,
af_face_globals_new): Changed local types and updated accordingly.
* src/autofit/aflatin.c (af_latin_metrics_init_blues): Ditto.

* [autofit] Updated to reduce casting (cont'd).

* src/autofit/afmodule.h (AF_ModuleRec): Change `default_script` type.
* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
Remove casting.
* src/autofit/afmodule.c (af_property_{set,get}): Updated accordingly.

* [cache] Remove some casts, clean up tracing.

* src/cache/ftcbasic.c (FTC_ImageCache_Lookup, FTC_SBitCache_Lookup):
Clean up tracing types.
* src/cache/ftccache.c (ftc_node_destroy): Ditto.
* src/cache/ftcmanag.c (FTC_Manager_Check): Ditto.
(FTC_Manager_Check, FTC_Node_Unref): Remove a cast.
* src/cache/ftccmap.c (FTC_CMapCache_Lookup): Ditto.

* * src/base/ftobjs.c (Mac_Read_sfnt_Resource): Reduce casting.

* * src/psaux/psobjs.c (ps_table_release): Remove redundant casting.

* * src/sfnt/ttload.c: Trace formatting updates.

* * src/cache/ftcmanag.c (FTC_Manager_New): Initialize `cur_weight`.

See !192.

* ci: bump windows image and use newer runner and vs2019

The old 1809 runner will be decommissioned at some point.

* [base, type1] Better handling of out-of-memory situations.

This follows similar code in `cff_slot_done`.

* src/base/ftobjs.c (ft_glyphslot_done), src/type1/t1objs.c
(T1_GlyphSlot_Done): Check `internal` pointer.

The Type1 problems was reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50057.

* CMakeLists.txt (FT_ENABLE_ERROR_STRINGS): New configuration option.

This option uncomments FreeType configuration macro
`FT_CONFIG_OPTION_ERROR_STRINGS` to make function `FT_Error_String` return
meaningful error strings.

This option is off by default.

* [sfnt] Avoid undefined shifts in `COLR` v1 color line retrieval

* src/sfnt/ttcolr.c (tt_face_get_colorline_stops): Disambiguate shift
behavior by using multiplication using macros from ftcalc.h.

Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50573

* * src/base/ftver.rc: Explicitly use UTF-16.

Fixes #1177 to avoid mistranslation and other problems.

* [sfnt] Don't require 'gvar' table to support variation fonts.

Fixes #1172.

* src/sfnt/sfobjs.c (sfnt_load_face): Tag font as Multiple Masters font if
`fvar` is present; do not require other tables to be present.

* src/truetype/ttgxvar.c (tt_set_mm_blend): Allow for a missing 'gvar' table
when setting variation coordinates.  However, if a 'gvar' table is actually
present, do perform a sanity check and fail on malformedness.
(TT_Get_MM_Var): Don't assume 'fvar' needs 'gvar' or 'CFF2 tables in all
cases, which is an overly tight check.

* [autofit] Minor fix.

* src/autofit/afglobal.c (af_face_globals_compute_style_coverage): Avoid
compiler warning.

* [sfnt] Pointer sanity checks before reading layer info in 'COLR' v0

* src/sfnt/ttcolr.c (tt_face_get_colr_layer): Check that the pointer to
read from is within the 'COLR' table.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50633

* [sfnt] Handle variable `COLR` v1 fonts without delta set index map

Fixes #1178.

* src/sfnt/ttcolr.c (get_deltas_for_var_index_base): Set outer index to
0 and inner index to the delta index when retrieving deltas if the
`COLR` table has no delta set index map.

* [truetype] Reject 'fvar' loading when `num_instances` is too small.

* src/truetype/ttgxvar.c (TT_Get_MM_Var): Reject retrieving master when
'fvar' values locally do not match with sanitized values from initialization
at `sfnt_init_face` time.

Reported as

  https://bugs.chromium.org/p/chromium/issues/detail?id=1360295

* * src/otvalid/otvgsub.c (otv_SingleSubst_validate): Fix format 1 handling.

Fixes #1181.

* Reject 'COLR' table if version is 1 but header too small.

* src/sfnt/ttcolr.c (tt_face_load_colr): If the version is determined to
be 1, then the table size has to be at least the size of the v1 header.
Also, for peeking the number of base glyphs and entries in the layer list,
ensure that the table is sufficiently long.

Fixes #1179.  Original patch by Sergey Temnikov.

* [base] Discard and recreate bitmaps for copying and converting.

Reusing target bitmaps for copying and converting is permitted.  It is,
however, pointless to preserve their content before overwriting.  Free-
malloc might be faster than realloc.

* src/base/ftbitmap.c (FT_Bitmap_Copy, FT_Bitmap_Convert): Free
an old buffer and create a new one.

* [base] Clean up the bitmap flow control.

* src/base/ftbitmap.c (FT_Bitmap_Copy): Flip the copy if its pitch
is trully opposite, zero is not a positive value.
(FT_Bitmap_Convert): Set negative pitch as needed, accept negative
alignment values.

* [sfnt] Add SVG document bounds checking.

Add a check that the document content is actually contained within the
`SVG ` table.  Without this check a malformed font may claim arbitrary
memory as its document content.

* src/sfnt/ttsvg.c (tt_face_load_svg): Take `numEntries` into account when
testing 'documentRecord' extents.
(find_doc): Rename `stream` to `document_records` for clarity.
(tt_face_load_svg_doc): Split `doc` from `doc_list` pointer for clarity.
Test that the document content is contained within the table.
Ensure minimum length of document before testing for gzip format.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=51812

* [sfnt] Guard access in 'COLR' table when requesting child table pointer.

* src/sfnt/ttcolr.c (tt_face_get_colorline_stops, read_paint): Tighten
pointer bounds checks.
(get_child_table_pointer): Check whether incoming pointer `p` lies within
the 'COLR' table.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=51816

* * src/tools/*.py: Migrate to Python 3.

Fixes #1185, closes !205. Formatting changes according to PEP8.

* [base] FT_Attach_Stream: Make `parameters` argument constant.

* * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Use lighter FT_DivFix.

* [truetype] Fix undefined pointer arithmetic.

* src/truetype/ttgxvar.c (tt_var_get_item_delta, ft_var_load_mvar): Use
`FT_OFFSET`.

* * src/psaux/pshints.c (cf2_hintmap_build): Improve debugging output.

* * src/psaux/pshints.c (cf2_hintmap_insertHint): Fix midpoint computation.

Replace '(start + end) / 2' with 'start + (end - start) / 2' to avoid
overflow.

Fixes #1180.

* * src/cache/ftcbasic.c (ftc_basic_family_get_count): Remove redundancy.

* * src/cache/ftccmap.c (FTC_CMapCache_Lookup): Avoid `FT_Set_Charmap`.

Set charmap aggressively without all validations of `FT_Set_Charmap`
because we take it from the available array and only temporarily.
Even CMap Format 14 will gracefully return 0.

* * src/type1/t1afm.c (T1_Read_PFM): Set charmaps directly.

As with the previous commit, we can avoid the validation checks
of `FT_Set_Charmap` and set it directly when choosing from the
available list.

* [autofit] Reset the face charmap directly.

There is no need to validate the original charmap in `FT_Set_Charmap`.
It can be reset directly.

* src/autofit/afglobal.c (af_face_globals_compute_style_coverage):
Use direct assignment.
* src/autofit/af{latin,cjk,indic}.c (af_latin_metrics_init): Ditto.

* Improve FT_Get_Name_Index docs and place it next to FT_Get_Glyph_Name.

* Minor comment changes.

* Synchronize `ftoption.h` flavours.

* [cff] Remove `FT_CONFIG_OPTION_NO_GLYPH_NAMES`.

This ancient option stayed completely undocumented.  Given that the 'cff'
driver requires the 'psnames' module, it makes no sense today to have this
macro.

* src/cff/cffdrivr.c (cff_services), src/cff/cffobjs.c (cff_face_init):
Remove corresponding conditional code.

* Note the lack of floating-point data types.

* * src/base/ftsynth.c (FT_GlyphSlot_Slant): New API with custom slant.
* include/freetype/ftsynth.h (FT_GlyphSlot_Slant): Declare it.

* * builds/toplevel.mk: Prefix all paths with `$(TOP_DIR)/`.

This is useful for builds that are not started from the root directory.

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>

* [sfnt] Guard individual `COLR` v1 paint field reads.

* src/sfnt/ttcolr.c (ENSURE_READ_BYTES): New macro.
(read_paint): Use it – after the start pointer `p` has been checked for
whether it allows reading the format byte, each successive paint table field
read need to be bounds-checked before reading further values.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52404

* Minor formatting.

* * src/sfnt/ttsbit.c (tt_face_load_strike_metrics): Simplify calculations.

* [gzip] Update sources to zlib 1.2.13.

* [sfnt] Additional bounds checks for `COLR` v1 table handling.

* src/sfnt/ttcolr.c (read_paint): Add `colr` argument, necessary for...
... another use of `ENSURE_READ_BYTES`.
Update callers.
(tt_face_get_paint_layers): Ensure that the 4-byte paint table
offset can be read.

This is a follow-up to !124 and issue
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=52404

* * subprojects/zlib.wrap: Update to zlib version 1.2.13.

* [cff, truetype] Simplify SVG metrics scaling.

Use pre-calculated scaling factors. Also, the advance widths used
to be rounded, which was incorrect.

* src/cff/cffgload.c (cff_slot_load): Use `x_scale` and `y_scale`.
* src/truetype/ttgload.c (TT_Load_Glyph): Ditto.

* * src/truetype/ttgload.c: Cosmetic changes.

* * include/freetype/*: Fix documentation typos.

* Replace '1/64th' (and similar entries) with '1/64' in docs and comments.

* [truetype] Add support for `avar` table 2.0 format.

See

  https://github.com/harfbuzz/boring-expansion-spec/blob/main/avar2.md

for the specification.

Currently, this is implemented only in most recent OS versions on Apple
platforms and in the HarfBuzz library, but it is expected to be added to the
OpenType standard soon.

* src/truetype/ttgxvar.h (GX_AVarTableRec): New structure.
(GX_BlendRec): Use it to replace `avar_segment` with `avar_table`.

* src/truetype/ttgxvar.c (ft_var_load_avar): Load new table version.
(ft_var_to_normalized, tt_done_blend): Extend for new format.
(ft_var_load_hvvar, ft_var_to_design): Updated.

* [bdf, pfr, psnames] Accelarate charmap searches.

The binary searches within charmaps can be accelerated because they
often contain dense continuous blocks of character codes. Within such
blocks, you can predict matches based on misses.  This method has been
deployed in `bdf` since 0f122fef34; we only refactor it there.  We now
use it in `pfr` and `psnames`, which speeds up the unicode charmap
access by about 50% in PFR and Type 1 fonts.

* src/bdf/bdfdrivr.c (bdf_cmap_char_{index,next}): Refactor.
* src/pfr/pfrcmap.c (pfr_cmap_char_{index,next}): Predict `mid` based
on the mismatch distance.
* src/psnames/psmodule.c (ps_unicodes_char_{index,next}): Ditto.

* * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Accelerate the search.

This is mostly for consistency because PFR fonts with bitmap strikes
do not seem to exist.

* [build] fix for make multi

Fix "make multi" by MR !223

* include/freetype/internal/services/svmm.h: include ftmm.h to define FT_Get_MM_Func.
* src/truetype/ttgxvar.h: include ftmmtypes.h to use GX_AVarTable properly.
* src/base/ftmac.c: include ftdebug.h to use FT_THROW() properly.

* [build] use AC_CHECK_PROG() macro for libpng-config detection

* builds/unix/configure.raw: use AC_CHECK_PROG() instead of `which` to find `libpng-config`.

* docs/CHANGES: Updated.

* [truetype] Restore behavior of ft_var_load_hvvar

* src/truetype/ttgcvar.c (ft_var_load_hvvar): restore previous behavior

In a previous change [0] the behavior of `ft_var_load_hvvar` was changed
to not load the item variation store if it was at offset 0, but not
return an error when this happened. This broke any users, like
`tt_hvadvance_adjust`, that rely on successful completion of
`ft_var_load_hvvar` to imply that returned table's `itemStore` had been
initialized. This lead such users to dereference NULL.

This change appears to have been unintentional and unrelated to the
actual avar2 changes. As a result, fix these NULL dereferences by
restoring the code to always attempt to initialize the `itemStore`.

[0] ae4eb996 "[truetype] Add support for `avar` table 2.0 format."

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53061

* [truetype] Check avar_segment before access

* src/truetype/ttgxvar.c (tt_done_blend): check `avar_segment` before
accessing to free its `correspondence`.

Reported as:

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=53062

* Fix `-Wstrict-prototypes`.

* builds/unix/configure.raw: Fix `-Wstrict-prototypes`.
Clang 16 warns on these and they will be dropped in C23.

* builds/unix/freetype2.m4: Ditto.

Signed-off-by: Sam James <sam@gentoo.org>

* [pcf] Improve CMap efficiency and readability.

* src/pcf/pcfdrivr.c (pcf_cmap_char_{index,next}): Check and walk
the encoding array indexes.

* [truetype] In `ItemVariationStore`, value 0xFFFF for `dataCount` is valid.

It corresponds to outer indices of 0 to 0xFFFE.

* src/truetype/ttgxvar.c (tt_var_load_item_variation_store): Remove invalid
code.

* [truetype] Improve bounds checks for `ItemVariationStore`.

* src/truetype/ttgxvar.c (tt_hvadvance_adjust): Move bounds check ...
(tt_var_get_item_delta): ...  to this function, because it is safer.  For
example, the 'avar' table 2.0 codepath was not performing a bounds check at
all.

* Add `TT_CONFIG_OPTION_NO_BORING_EXPANSION` configuration macro.

This gives users a possibility to deactivate new features not (yet) in the
OpenType standard.

* include/freetype/config/ftoption.h, devel/ftoption.h
(TT_CONFIG_OPTION_NO_BORING_EXPANSION): New macro.

* src/truetype/ttgxvar.c (ft_var_load_avar): Use it to disable 'avar'
version 2.0 support.

* [meson] Fix generated ftmodule.h

The sdf module wasn't recognized, so the generated ftmodule.h had "None_renderer_class".

* builds/meson/parse_modules_cfg.py: Handle sdf in RASTER_MODULES.

* [meson] Use generated ftmodule.h

ftmodule.h is generated at the root of the build directory, but FT_CONFIG_MODULES_H
(freetype/config/ftmodule.h) is used instead.
This makes the build fail when disabling modules in modules.cfg.

* meson.build (harfbuzz_dep): Add '-DFT_CONFIG_MODULES_H=<ftmodule.h>'.

* * src/truetype/ttgxvar.c (tt_hvadvance_adjust): Integer overflow.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=50462

* * src/pcf/pcfutil.c ({Two,Four}ByteSwap): Use builtins or shifts.

We trust glibc which uses shifts or builtins to swap bytes.  This
must be more efficient.

* * src/autofit/afloader.c (af_loader_load_glyph): Fix dereference.

This must happen after the NULL check.

Taken from

  https://github.com/freetype/freetype/pull/2

* Comments added.

* * src/autofit/afloader.c (af_loader_load_glyph): Remove `size` check.

This is done by `FT_Load_Glyph`.

* * src/base/ftdbgmem.c (ft_mem_source_compare): Add FT_COMPARE_DEF.

Closes !230.

* * include/freetype/internal/ftcalc.h (FT_MSB): Support Open Watcom 2.0.

Closes !232.

* * subprojects/zlib.wrap: Micro-update from upstream.

* [sdf, sfnt] Handle minor compiler warnings.

* src/sdf/ftsdf.c (get_min_distance_conic): Initialize `nearest_point`.

* src/sfnt/ttsvg.c (find_doc): Initialize `mid_doc`.

Fixes #1195.

* * builds/unix/configure.raw: Don't check for `memcpy` and `memmove`.

We expect a C99 compiler, and both functions are part of this standard.

* * src/gzip/ftzconf.h: Updated to zlib 1.2.13.

I forgot to copy that file.

* [gzip] Make static compilation not leak global symbols.

* src/gzip/ftgzip.c (HAVE_HIDDEN): Do not define; it is no longer needed
because everything is static.
(HAVE_MEMCPY): Define.
(zcalloc, zcfree): Remove no longer needed definitions (because `Z_SOLO` is
active).

* src/gzip/patches/freetype-zlib.diff: Regenerated.

Fixes #1146.

Co-authored-by: Werner Lemberg <wl@gnu.org>

* [psaux] Delay the upem validity assertion.

Fixes #1194.

* src/psaux/psft.c (cf2_getUnitsPerEm): Remove the upem assert.
(cf2_checkTransform): Assert the upem validity after checking the scale.

* * src/base/ftobjs.c (FT_Request_Metrics): Avoid division by zero.

The division-by-zero might happen in broken fonts (see #1194).
Instead of returning a huge number from FT_DivFix and failing
to scale later, we now bail immediately.

* [sfnt] Fix color stop bounds check calculation at table end.

Fixes https://bugs.chromium.org/p/skia/issues/detail?id=14021

* src/sfnt/ttcolr.c (VAR_IDX_BASE_SIZE): New macro.
(tt_face_get_colorline_stops): Fix off-by-one bounds check calculation, take
`VarColorStop` into account, and hopefully make it easier to read.

* fix spelling err in LICENSE.txt

* [base] Report used stream's external status.

In `open_face` the initial stream is set on the face, along with the
information about if FreeType is the owner of the stream object itself.  The
loaders may in the course of their work replace this stream with a new
stream (as is the case for 'woff' and 'woff2'), which may have a different
ownership than the initial stream object (likely the original stream object
is owned by the user and is external, while the new stream object is created
internally to FreeType and is internal).  When the stream is replaced, the
face's flags are updated with the new ownership status.

However, `open_face` cannot itself free this stream as its caller
`ft_open_face_internal` is responsible for this.  In addition, in the case
of an error `open_face` cannot return an actual face with the new stream and
its ownership status to the caller.  As a result, it must pass this
information back to the caller as a sort of "failed face" so that the caller
can clean up.

`open_face` was already passing back the new stream but was not passing back
the stream ownership information.  As a result the stream may not have been
free'd when needed.

Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54700

* src/base/ftobjs.c (open_face): Pass back the ownership information as
well.
(ft_open_face_internal): Updated.

* [truetype] Keep variation store consistent.

`tt_var_load_item_variation_store` fills out a `GX_ItemVarStore`.  While it
may return an error, the item store must be left in a consistent state so
that any use or destruction of the item store can properly use or free the
data in it.  Before this change the counts from the font data were read
directly into the item store before the actual allocation of the arrays to
which they referred.  There exist many opportunities between the time the
counts are read and the arrays are allocated to return early due to invalid
data.  When this happened the item store claimed to have entires it actually
did not, leading to crashes later when it was used.

Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54449

* src/truetype/ttgxvar.c (tt_var_load_item_variation_store): Read the counts
into local variables and store them in the item store only after the related
arrays are actually created on the item store.

* [autofit] Don't depend on 'hb-ft'.

The circular dependency is still there, but at least we no longer depend on
the HarfBuzz API that is only present if HarfBuzz has been built with
FreeType support, making the bootstrapping a bit easier.

* src/autofit/ft-hb.c, src/autofit/ft-hb.h: New files, providing
`_hb_ft_font_create`, which is more or less a verbatim copy of the
corresponding HarfBuzz code from file `hb-ft.cc`.

* src/autofit/afglobal.c (af_face_globals_new): Use it.
* src/autofit/afshaper.h: Don't include `hb-ft.h` but `ft-hb.h`.
* src/autofit/autofit.c: Include `ft-hb.c`.

* LICENSE.TXT: Updated.

* [truetype] Reset cvt and storage in context load.

Currently the cvt and storage are saved and restored in `TT_RunIns`.
However, this is too granular as the cvt and storage area should be set to
the original cvt and storage area only when setting up the hinting context.
This allows for the cvt and storage area to be modified while parsing
multiple glyphs, as is the case with composite glyphs.

* src/truetype/ttinterp.h (TT_ExecContextRec): Remove `origCvt` and
`origStorage`.

* src/truetype/ttinterp.c (TT_RunIns): Don't save and restore the cvt and
storage area.
(Modify_CVT_Check, Ins_WS): Switch from "if in glyph and using original data
do copy on write" to "if in glyph and not using glyph specific data do copy
on write".

* * src/autofit/ft-hb.c (_hb_ft_reference_table): Minor integration fixes.

* [sfnt] Remove temporary runtime flag for variable 'COLR' v1.

Fixes #1187.

* src/sfnt/ttcolr.c (top level, read_paint, tt_face_load_colr,
tt_face_free_colr, get_deltas_for_var_index_base,
tt_face_get_color_glyph_clipbox, tt_face_get_colorline_stops): Remove macro
definition `VARIABLE_COLRV1_ENABLED` and its usage.

* src/truetype/ttdriver.c (tt_property_set): Remove parsing of
'TEMPORARY-enable-variable-colrv1' property name.

* src/truetype/ttobjs.h (TT_DriverRec): Remove `enable_variable_colrv1`
flag.

* sr/*.c: Various minor fixes.

* src/autofit/ft-hb.c (_hb_ft_reference_table): Call `FT_UNUSED` after
variable declarations.

* src/gxvalid/gxvjust.c (gxv_just_widthDeltaClusters_validate): Eliminate
unused variable.

* src/gzip/ftgzip.c: Don't call GCC '-Wstrict-prototypes' pragma for C++
compiler.

* src/sfnt/ttcolr.c (ENSURE_READ_BYTES): Remove final semicolon to avoid
compiler warning.

* src/sfnt/ttsvg.c (tt_face_load_svg_doc): Fix signedness warning.

* [base] Fix leak of internal stream marked external.

`open_face_from_buffer` allocates a new `FT_Stream` to pass to
`ft_open_face_internal`.  Because this is an `FT_OPEN_STREAM`,
`ft_open_face_internal` will mark this as an 'external stream', which the
caller must free.  However, `open_face_from_buffer` cannot directly free it
because the stream must last as long as the face.  There is currently an
attempt at this by clearing the 'external stream' bit after
`open_face_from_buffer` returns successfully.  However, this is too late as
the original stream may have already been closed and the stream on the face
may not be the same stream as originally passed.

It is tempting to use `FT_OPEN_MEMORY` and let `ft_open_face_internal`
create the stream internally.  However, with this method there is no means
to pass through a 'close' function to the created stream to free the
underlying data, which must be owned by the stream.

A possibility is to check on success if the stream of the face is the same
as the original stream.  If it is then unset the external flag.  If not,
then free the original stream.  Unfortunately, while no current
implementation does so, it is possible that the face still has the original
stream somewhere other than as the `FT_FaceRec::stream`.  The stream needs
to remain available for the life of the face or until it is closed,
whichever comes earlier.

The approach taken here is to let the stream own itself.  When the stream is
closed it will free itself.

* src/base/ftobjs.c (memory_stream_close): Free `stream`.
(open_face_from_buffer): Simplify error handling, since
`ft_open_face_internal` always closes `args.stream` on any error.

Fixes: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=54930

* [base] Always close user-provided stream.

The `FT_Open_Face` documentation states

> If `FT_OPEN_STREAM` is set in `args->flags`, the stream in `args->stream`
> is automatically closed before this function returns any error (including
> `FT_Err_Invalid_Argument`).

However, if the user provides a stream in `args.stream` with
`FT_OPEN_STREAM` set and a `close` function, but then for some reason passes
NULL for `aface` and a non-negative `face_index`, the error
`Invalid_Argument` is returned but the `close` callback will not be called
on the user-provided stream.  This may cause resource leaks if the caller is
depending on the `close` callback to free resources.

The difficulty is that a user may fill out a `FT_StreamRec` and pass its
address as `args.stream`, but the stream isn't really 'live' until
`FT_Stream_New` is called on it (and `memory` is set).  In particular, it
cannot really be cleaned up properly in `ft_open_face_internal` until the
stream pointer has been copied into the `stream` local variable.

* src/base/ftobj.c (ft_open_face_internal): Ensure that user-provided
`args.stream.close` is called even with early errors.

* [base] 'close' callback may not use `stream->memory`.

The documentation for `FT_StreamRec::memory` states that it 'shouldn't be
touched by stream implementations'.  This is true even for internal
implementations of the 'close' callback, since it is not guaranteed that
`memory` will even be set when the 'close' callback occurs.

* src/base/ftobjs.c (new_memory_stream): stash current `memory` in
`stream->descriptor`.
(memory_stream_close): Use it.

* * src/tools/no-copyright: Updated.

* Update all copyright notices.

* * src/tools/update-copyright: Allow execution from other repositories.

We use this for `freetype-demos`.

* [sfnt] Avoid nullptr dereference in reading malformed 'COLR' v1 table.

Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=1408044.

* src/sfnt/ttcolr.c (tt_face_load_colr): When the 'COLR' v1 table header is
too small, don't deallocate delta set index map structures.

* [base] Return error if requested driver is not found.

In `open_face_from_buffer` it is possible that a driver is requested but
FreeType was built without the requested module.  Return an error in this
case to indicate that the request could not be satisfied, rather than trying
all existing driver modules.

* src/base/ftobjs.c (open_face_from_buffer): Return `FT_Err_Missing_Module`
if a driver is specified but not found.

* [base] Fix typo.

* src/base/ftobjs.c (open_face_PS_from_sfnt_stream): Request module 't1cid',
not 'cid'.

* * docs/oldlogs/ChangeLog.210: Typos.

* The 'COLR' v1 API will no longer be experimental in the next release.

* [ttgxvar] Fix crash in COLRv1.

This is a stopgap until issue #1202 is properly fixed.

* src/truetype/ttxgvar.c (tt_var_get_item_delta): Check `normalizedcoords`.

* Whitespace.

* Minor changes.

Comment fixes, typos, removing of unnecessary parentheses.

* * subprojects/harfbuzz.wrap, subprojects/libpng.wrap: Updated.

* * docs/CHANGES: Add news for 'freetype-demos'.

* * src/truetype/ttgxvar.c (tt_var_get_item_delta): Check `face->blend`.

Reported as

  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=55581

* * src/cff/cffgload.c (cff_slot_load): Avoid memory leak.

Fixes issue #1204.

* * src/type1/t1afm.c (T1_Read_Metrics): Validate ascender and descender.

The ascender and descender are optional in the AFM specifications.
They could be omitted or even set to zero, e.g., in the current release
of URW++ base 35 fonts.

* * src/type1/t1afm.c (T1_Read_Metrics): Reaffirm ascender and descender.

* Comment on optional ascender and descender.

* docs/CHANGES: Updated.

* [sdf] Use 32-bit integers internally.

* src/sdf/ftsdfcommon.h (FT_16D16, FT_26D6): Use 32-bit integers
  instead of `FT_Fixed` for internal data types. `FT_Fixed` i.e.
  `signed long` is 64-bit on some architectures.

* * src/base/ftsynth.c (FT_GlyphSlot_Slant): Add vertical slant.
* include/freetype/ftsynth.h (FT_GlyphSlot_Slant): Update it.

* [truetype, type1] Additional variation tags.

Sync with
  https://learn.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg#registered-axis-tags

* src/truetype/ttgxvar.h (TTAG_ital): New tag.
* src/truetype/ttgxvar.c (TT_Get_MM_Var): Use it.
* src/type1/t1load.c (T1_Get_MM_Var): Handle 'slnt' and 'ital'.

* Fix minor clang and clang++ warnings.

* Avoid reserved identifiers that are globally defined.

This is mandated by the C99 standard, and clang 15 produces zillions of
warnings otherwise.

* devel/ftoption.h, include/freetype/config/ftoption.h,
include/freetype/internal/ftmemory.h, src/autofit/afhints.h,
src/autofit/afmodule.c, src/autofit/aftypes.h, src/base/ftadvanc.c,
src/base/ftdbgmem.c, src/base/ftstream.c, src/bdf/bdflib.c,
src/truetype/ttinterp.c: Replace identifiers of the form `_foo` with `foo_`.

* For debugging, avoid implicit conversion from integer to double.

Otherwise we get zillions of clang 15 warnings.

* src/autofit/afcjk.c, src/autofit/afhints.c, src/autofit/aflatin.c,
src/base/ftobjs.c, src/base/ftoutln.c, src/cff/cffparse.c,
src/raster/ftraster.c, src/sfnt/pngshim.c, src/truetype/ttgload.c,
src/truetype/ttgxvar.c, src/truetype/ttobjs.c, src/type1/t1gload.c: Use
`double` cast in debugging and tracing macros.

* Fix 'fall-through' warning messages.

Modern compilers get more insistent on that...

* include/freetype/internal/compiler-macros.h (FALL_THROUGH): Define.
* src/*: Use it instead of `/* fall through */` comments.

* Fix `FT_LOCAL` and `FT_LOCAL_DEF` tags.

* [autofit] Fix 'multi' compilation.

* src/autofit/ft-hb.c: Decorate with `FT_LOCAL_DEF`.
Add ANSI boilerplate code for otherwise empty file.
* src/autofit/ft-hb.h: Include `compiler-macros.h` and `freetype.h`.
Use `FT_BEGIN_HEADER` and `FT_END_HEADER`.
Decorate with `FT_LOCAL`.

* src/autofit/rules.mk (AUTOF_DRV_SRC): Add `ft-hb.c`.

* Comment on `FT_GlyphSlot_Slant'.

* * Version 2.13 released.
==========================

Tag sources with `VER-2-13-0'.

* docs/VERSION.TXT: Add entry for version 2.13.
* docs/CHANGES: Updated.

* README, src/base/ftver.rc, builds/windows/vc2010/index.html,
builds/windows/visualc/index.html, builds/windows/visualce/index.html,
builds/wince/vc2005-ce/index.html, builds/wince/vc2008-ce/index.html,
docs/freetype-config.1: s/2.12.1/2.13/, s/2121/2130/.

* include/freetype/freetype.h (FREETYPE_MINOR): Set to 13.
(FREETYPE_PATCH): Set to 0.

* builds/unix/configure.raw (version_info): Set to 25:0:19.
* CMakeLists.txt (VERSION_MINOR): Set to 13.
(VERSION_PATCH): Set to 0.

* Update version to 2.13.0

---------

Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Signed-off-by: Sam James <sam@gentoo.org>
Co-authored-by: Werner Lemberg <wl@gnu.org>
Co-authored-by: Dominik Röttsches <drott@chromium.org>
Co-authored-by: Behdad Esfahbod (بهداد اسفهبد) <behdad@behdad.org>
Co-authored-by: Alexei Podtelezhnikov <apodtele@gmail.com>
Co-authored-by: Ben Wagner <bungeman@chromium.org>
Co-authored-by: bruvzg <@bruvzg>
Co-authored-by: Xavier Claessens <xavier.claessens@collabora.com>
Co-authored-by: Thomas Sondergaard <thomas@sondergaard.cc>
Co-authored-by: Chris Liddell <chris.liddell@artifex.com>
Co-authored-by: Stephen Holdaway <stecman@gmail.com>
Co-authored-by: @udoudou <>
Co-authored-by: Tim-Philipp Müller <tim@centricular.com>
Co-authored-by: Sean Farrell <sean.farrell@rioki.org>
Co-authored-by: Azamat Hackimov <azamat.hackimov@gmail.com>
Co-authored-by: Ali Chraghi <alichraghi@pm.me>
Co-authored-by: mlugg <mlugg@mlugg.co.uk>
Co-authored-by: Liu Kunpeng(柳鲲鹏) <liukunpeng@ts-it.cn>
Co-authored-by: Xiang Xiao <xiaoxiang@xiaomi.com>
Co-authored-by: Ivan Panchenko <ivanpan3@gmail.com>
Co-authored-by: suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
Co-authored-by: Sam James <sam@gentoo.org>
Co-authored-by: Loïc Yhuel <loic.yhuel@softathome.com>
Co-authored-by: Johan Matsson <mjunix@ at github>
Co-authored-by: Luca Bacci <luca.bacci982@gmail.com>
Co-authored-by: Jiří Malák <malak.jiri@gmail.com>
Co-authored-by: David Vanderson <david.vanderson@gmail.com>
Co-authored-by: Noah Cabral <cnoah1705@gmail.com>
Co-authored-by: Matthias Clasen <mclasen@redhat.com>
Co-authored-by: anuj <95867901+anuj99@users.noreply.github.com>
rohrbachger pushed a commit to rohrbachger/thinstation that referenced this pull request Oct 8, 2023
	modified:   ts/ports/components/audit/.footprint
	modified:   ts/ports/components/audit/.md5sum
	modified:   ts/ports/components/audit/Pkgfile
	deleted:    ts/ports/components/audit/audit#2.8.5-1.pkg.tar.xz
	new file:   ts/ports/components/audit/audit#3.0.2-1.pkg.tar.xz
	modified:   ts/ports/components/avahi/.footprint
	modified:   ts/ports/components/avahi/avahi#git-1.pkg.tar.xz
	new file:   ts/ports/components/blueberry/.footprint
	new file:   ts/ports/components/blueberry/.md5sum
	new file:   ts/ports/components/blueberry/Pkgfile
	new file:   ts/ports/components/blueberry/blueberry#1.4.3-1.pkg.tar.xz
	modified:   ts/ports/components/cmocka/cmocka#1.1.5-2.pkg.tar.xz
	new file:   ts/ports/components/dejavu/.footprint
	renamed:    ts/ports/opt/rust/config.toml -> ts/ports/components/dejavu/.md5sum
	new file:   ts/ports/components/dejavu/Pkgfile
	new file:   ts/ports/components/dejavu/dejavu#git-3.pkg.tar.xz
	modified:   ts/ports/components/eekboard/eekboard#1.0.8-1.pkg.tar.xz
	new file:   ts/ports/components/fontforge/.footprint
	new file:   ts/ports/components/fontforge/.md5sum
	new file:   ts/ports/components/fontforge/Pkgfile
	renamed:    ts/ports/opt/icu/icu#64.2-1.pkg.tar.xz -> ts/ports/components/fontforge/fontforge#20201107-1.pkg.tar.xz
	new file:   ts/ports/components/fontforge/fontforge-doc-no-warn-error.patch
	modified:   ts/ports/components/geoclue/geoclue#2.5.5-2.pkg.tar.xz
	modified:   ts/ports/components/gtkdialog/.md5sum
	modified:   ts/ports/components/gtkdialog/Pkgfile
	modified:   ts/ports/components/gtkdialog/gtkdialog#0.8.3-2.pkg.tar.xz
	new file:   ts/ports/components/gtkdialog/gtkdialog-0.8.3-fno-common.patch
	modified:   ts/ports/components/hplip/.footprint
	modified:   ts/ports/components/hplip/hplip#3.20.6-2.pkg.tar.xz
	modified:   ts/ports/components/ibus/.footprint
	modified:   ts/ports/components/ibus/ibus#1.5.22-1.pkg.tar.xz
	modified:   ts/ports/components/icewm/icewm#1.6.2-1.pkg.tar.xz
	modified:   ts/ports/components/libblockdev/.footprint
	modified:   ts/ports/components/libblockdev/libblockdev#2.25-1.pkg.tar.xz
	modified:   ts/ports/components/libbytesize/.footprint
	modified:   ts/ports/components/libbytesize/libbytesize#2.1-1.pkg.tar.xz
	modified:   ts/ports/components/libcec/.footprint
	modified:   ts/ports/components/libcec/libcec#4.0.4-1.pkg.tar.xz
	new file:   ts/ports/components/libdbusmenu/.footprint
	new file:   ts/ports/components/libdbusmenu/.md5sum
	new file:   ts/ports/components/libdbusmenu/Pkgfile
	new file:   ts/ports/components/libdbusmenu/libdbusmenu#16.04.0-4.pkg.tar.xz
	modified:   ts/ports/components/libical/.footprint
	modified:   ts/ports/components/libical/.md5sum
	modified:   ts/ports/components/libical/Pkgfile
	new file:   ts/ports/components/libical/libical#3.0.10-1.pkg.tar.xz
	deleted:    ts/ports/components/libical/libical#3.0.6-1.pkg.tar.xz
	modified:   ts/ports/components/libimobiledevice/.footprint
	modified:   ts/ports/components/libimobiledevice/libimobiledevice#git-1.pkg.tar.xz
	modified:   ts/ports/components/liboauth/liboauth#1.0.3-2.pkg.tar.xz
	modified:   ts/ports/components/libomxil-bellagio/Pkgfile
	modified:   ts/ports/components/libomxil-bellagio/libomxil-bellagio#0.9.3-2.pkg.tar.xz
	modified:   ts/ports/components/libplist/.footprint
	modified:   ts/ports/components/libplist/libplist#git-1.pkg.tar.xz
	modified:   ts/ports/components/libproxy/.footprint
	modified:   ts/ports/components/libproxy/libproxy#0.4.15-1.pkg.tar.xz
	modified:   ts/ports/components/libpsl/libpsl#0.21.0-1.pkg.tar.xz
	new file:   ts/ports/components/libspiro/.footprint
	new file:   ts/ports/components/libspiro/.md5sum
	new file:   ts/ports/components/libspiro/Pkgfile
	new file:   ts/ports/components/libspiro/libspiro#20200505-2.pkg.tar.xz
	new file:   ts/ports/components/libuninameslist/.footprint
	new file:   ts/ports/components/libuninameslist/.md5sum
	new file:   ts/ports/components/libuninameslist/Pkgfile
	new file:   ts/ports/components/libuninameslist/libuninameslist#20200413-2.pkg.tar.xz
	modified:   ts/ports/components/libuser/.footprint
	modified:   ts/ports/components/libuser/libuser#0.62-1.pkg.tar.xz
	modified:   ts/ports/components/libvirt-glib/libvirt-glib#2.0.0-1.pkg.tar.xz
	modified:   ts/ports/components/libvirt/libvirt#6.7.0-2.pkg.tar.xz
	modified:   ts/ports/components/lightdm/lightdm#1.30.0-2.pkg.tar.xz
	modified:   ts/ports/components/motif/motif#2.3.6-1.pkg.tar.xz
	modified:   ts/ports/components/mozjs/mozjs#60.1.0-1.pkg.tar.xz
	modified:   ts/ports/components/npm/npm#6.12.0-1.pkg.tar.xz
	modified:   ts/ports/components/pidgin-sipe/pidgin-sipe#1.25.0-1.pkg.tar.xz
	modified:   ts/ports/components/protobuf/.footprint
	modified:   ts/ports/components/protobuf/protobuf#3.10.0-1.pkg.tar.xz
	modified:   ts/ports/components/qscintilla/qscintilla#2.11.2-1.pkg.tar.xz
	modified:   ts/ports/components/raptor2/raptor2#2.0.9-1.pkg.tar.xz
	modified:   ts/ports/components/rasqal/rasqal#0.9.33-1.pkg.tar.xz
	modified:   ts/ports/components/redland/redland#1.0.17-1.pkg.tar.xz
	modified:   ts/ports/components/rngd/rngd#6.9-1.pkg.tar.xz
	modified:   ts/ports/components/rpm-tools/.footprint
	modified:   ts/ports/components/rpm-tools/rpm-tools#4.15.1-2.pkg.tar.xz
	modified:   ts/ports/components/samba-conf/samba-conf#1.0-1.pkg.tar.xz
	new file:   ts/ports/components/samurai/.footprint
	new file:   ts/ports/components/samurai/.md5sum
	new file:   ts/ports/components/samurai/Pkgfile
	new file:   ts/ports/components/samurai/samurai#1.2-1.pkg.tar.xz
	modified:   ts/ports/components/sane/sane#1.0.31-2.pkg.tar.xz
	modified:   ts/ports/components/strongswan/strongswan#5.9.0-2.pkg.tar.xz
	modified:   ts/ports/components/system-config-printer/.footprint
	modified:   ts/ports/components/system-config-printer/system-config-printer#1.5.12-1.pkg.tar.xz
	modified:   ts/ports/components/texlive/.footprint
	modified:   ts/ports/components/texlive/texlive#2020.54586-5.pkg.tar.xz
	modified:   ts/ports/components/TigerVNC/tigervnc#1.11.0-1.pkg.tar.xz
	modified:   ts/ports/components/tpm2-pkcs11/.footprint
	modified:   ts/ports/components/tpm2-pkcs11/.md5sum
	modified:   ts/ports/components/tpm2-pkcs11/Pkgfile
	deleted:    ts/ports/components/tpm2-pkcs11/tpm2-pkcs11#1.0.1-1.pkg.tar.xz
	new file:   ts/ports/components/tpm2-pkcs11/tpm2-pkcs11#1.6.0-1.pkg.tar.xz
	modified:   ts/ports/components/tpm2-tools/tpm2-tools#4.1-1.pkg.tar.xz
	modified:   ts/ports/components/uhttpmock/uhttpmock#0.5.1-1.pkg.tar.xz
	modified:   ts/ports/components/uriparser/uriparser#0.9.3-1.pkg.tar.xz
	modified:   ts/ports/components/v4l-utils/v4l-utils#1.20.0-1.pkg.tar.xz
	modified:   ts/ports/components/virt-viewer/virt-viewer#9.0-1.pkg.tar.xz
	modified:   ts/ports/components/volume_key/.footprint
	modified:   ts/ports/components/volume_key/.md5sum
	modified:   ts/ports/components/volume_key/Pkgfile
	deleted:    ts/ports/components/volume_key/volume_key#0.3.11-1.pkg.tar.xz
	new file:   ts/ports/components/volume_key/volume_key#0.3.12-1.pkg.tar.xz
	modified:   ts/ports/components/webkitgtk1/Pkgfile
	modified:   ts/ports/components/webkitgtk1/webkitgtk1#2.4.11-19.pkg.tar.xz
	modified:   ts/ports/components/windowmaker/Pkgfile
	modified:   ts/ports/components/windowmaker/windowmaker#0.95.8-1.pkg.tar.xz
	new file:   ts/ports/components/windowmaker/windowmaker-0.95.8-imagemagick7.patch
	deleted:    ts/ports/components/xorriso/.httpup-repo.current
	deleted:    ts/ports/components/xorriso/.httpup-urlinfo
	modified:   ts/ports/contrib/acpid/acpid#2.0.32-1.pkg.tar.xz
	modified:   ts/ports/contrib/asciidoc/.footprint
	modified:   ts/ports/contrib/asciidoc/.md5sum
	modified:   ts/ports/contrib/asciidoc/Pkgfile
	deleted:    ts/ports/contrib/asciidoc-py/asciidoc-py#8.6.10-1.pkg.tar.xz
	new file:   ts/ports/contrib/asciidoc-py/asciidoc-py#9.1.0-1.pkg.tar.xz
	modified:   ts/ports/contrib/boost/.footprint
	modified:   ts/ports/contrib/boost/.md5sum
	modified:   ts/ports/contrib/boost/Pkgfile
	renamed:    ts/ports/contrib/boost/boost#1.71.0-1.pkg.tar.xz -> ts/ports/contrib/boost/boost#1.76.0-1.pkg.tar.xz
	modified:   ts/ports/contrib/double-conversion/double-conversion#3.1.5-2.pkg.tar.xz
	modified:   ts/ports/contrib/enchant/.footprint
	modified:   ts/ports/contrib/enchant/.md5sum
	modified:   ts/ports/contrib/enchant/Pkgfile
	new file:   ts/ports/contrib/enchant/enchant#2.2.12-8.pkg.tar.xz
	deleted:    ts/ports/contrib/enchant/enchant#2.2.7-8.pkg.tar.xz
	modified:   ts/ports/contrib/farstream/farstream#0.2.9-2.pkg.tar.xz
	modified:   ts/ports/contrib/geany-plugins/.footprint
	modified:   ts/ports/contrib/geany-plugins/Pkgfile
	modified:   ts/ports/contrib/geany-plugins/geany-plugins#git-1.pkg.tar.xz
	modified:   ts/ports/contrib/geany/.footprint
	modified:   ts/ports/contrib/geany/.md5sum
	modified:   ts/ports/contrib/geany/Pkgfile
	deleted:    ts/ports/contrib/geany/geany#1.36-1.pkg.tar.xz
	new file:   ts/ports/contrib/geany/geany#1.37.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/glade3/glade3#3.22.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/gpgme/.footprint
	modified:   ts/ports/contrib/gpgme/gpgme#1.13.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/graphviz/.footprint
	modified:   ts/ports/contrib/graphviz/graphviz#2.42.2-1.pkg.tar.xz
	modified:   ts/ports/contrib/gssdp/.footprint
	modified:   ts/ports/contrib/gssdp/gssdp#git-1.pkg.tar.xz
	modified:   ts/ports/contrib/gst-plugins-good/Pkgfile
	modified:   ts/ports/contrib/gst-plugins-good/gst-plugins-good#1.18.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/gtk-doc/gtk-doc#1.31-1.pkg.tar.xz
	modified:   ts/ports/contrib/gupnp-igd/.footprint
	modified:   ts/ports/contrib/gupnp-igd/gupnp-igd#git-3.pkg.tar.xz
	modified:   ts/ports/contrib/gupnp/.footprint
	modified:   ts/ports/contrib/gupnp/gupnp#git-1.pkg.tar.xz
	modified:   ts/ports/contrib/gyp/.footprint
	modified:   ts/ports/contrib/gyp/gyp#20190716.fcd686f1-3.pkg.tar.xz
	modified:   ts/ports/contrib/inkscape/.footprint
	modified:   ts/ports/contrib/inkscape/.md5sum
	modified:   ts/ports/contrib/inkscape/Pkgfile
	deleted:    ts/ports/contrib/inkscape/inkscape#1.0-2020-05-01_4035a4fb49.pkg.tar.xz
	renamed:    ts/ports/opt/python/python#2.7.16-2.pkg.tar.xz -> ts/ports/contrib/inkscape/inkscape#1.1-2021-05-24_c4e8f9ed74.pkg.tar.xz
	modified:   ts/ports/contrib/libass/libass#0.14.0-1.pkg.tar.xz
	modified:   ts/ports/contrib/libbluray/.footprint
	modified:   ts/ports/contrib/libbluray/Pkgfile
	deleted:    ts/ports/contrib/libbluray/libbluray#1.1.2-1.pkg.tar.xz
	new file:   ts/ports/contrib/libbluray/libbluray#1.3.0-1.pkg.tar.xz
	modified:   ts/ports/contrib/libfm/libfm#1.3.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/libnice/.footprint
	modified:   ts/ports/contrib/libnice/libnice#git-1.pkg.tar.xz
	modified:   ts/ports/contrib/libsoup/.footprint
	modified:   ts/ports/contrib/libsoup/.md5sum
	modified:   ts/ports/contrib/libsoup/Pkgfile
	deleted:    ts/ports/contrib/libsoup/libsoup#2.68.2-1.pkg.tar.xz
	new file:   ts/ports/contrib/libsoup/libsoup#2.72.0-1.pkg.tar.xz
	modified:   ts/ports/contrib/phodav/phodav#2.5-1.pkg.tar.xz
	modified:   ts/ports/contrib/remmina/.footprint
	modified:   ts/ports/contrib/remmina/Pkgfile
	deleted:    ts/ports/contrib/remmina/remmina#1.4.11-1.pkg.tar.xz
	new file:   ts/ports/contrib/remmina/remmina#1.4.18-1.pkg.tar.xz
	modified:   ts/ports/contrib/rest/rest#0.8.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/spice-gtk/spice-gtk#0.39-1.pkg.tar.xz
	modified:   ts/ports/contrib/syslog-ng/.footprint
	modified:   ts/ports/contrib/syslog-ng/syslog-ng#3.23.1-1.pkg.tar.xz
	modified:   ts/ports/contrib/vala/.footprint
	modified:   ts/ports/contrib/vala/.md5sum
	modified:   ts/ports/contrib/vala/Pkgfile
	deleted:    ts/ports/contrib/vala/vala#0.46.3-1.pkg.tar.xz
	new file:   ts/ports/contrib/vala/vala#0.52.3-1.pkg.tar.xz
	modified:   ts/ports/contrib/wxgtk/wxgtk#3.0.4-5.pkg.tar.xz
	modified:   ts/ports/contrib/xerces-c/xerces-c#3.2.3-1.pkg.tar.xz
	modified:   ts/ports/core/automake-1.15/automake-1.15#1.15.1-2.pkg.tar.xz
	modified:   ts/ports/core/automake/automake#1.16.1-2.pkg.tar.xz
	modified:   ts/ports/core/curl/curl#7.73.0-1.pkg.tar.xz
	modified:   ts/ports/core/gcc/.footprint
	modified:   ts/ports/core/gcc/.md5sum
	modified:   ts/ports/core/gcc/Pkgfile
	renamed:    ts/ports/core/gcc/gcc#10.2.0-1.pkg.tar.xz -> ts/ports/core/gcc/gcc#10.3.0-1.pkg.tar.xz
	modified:   ts/ports/core/glibc/glibc#2.32-1.pkg.tar.xz
	modified:   ts/ports/core/httpup/httpup#0.5.0-1.pkg.tar.xz
	modified:   ts/ports/core/iproute2/.footprint
	modified:   ts/ports/core/iproute2/.md5sum
	modified:   ts/ports/core/iproute2/Pkgfile
	new file:   ts/ports/core/iproute2/iproute2#5.12.0-1.pkg.tar.xz
	deleted:    ts/ports/core/iproute2/iproute2#5.3.0-1.pkg.tar.xz
	modified:   ts/ports/core/libtool/libtool#git-2.pkg.tar.xz
	modified:   ts/ports/core/ncurses/ncurses#6.1-2.pkg.tar.xz
	modified:   ts/ports/core/perl/perl#5.32.0-1.pkg.tar.xz
	modified:   ts/ports/core/util-linux/util-linux#2.34-1.pkg.tar.xz
	modified:   ts/ports/core/wget/wget#1.20.3-2.pkg.tar.xz
	modified:   ts/ports/core/which/which#2.21-2.pkg.tar.xz
	modified:   ts/ports/gnome/evince/.footprint
	modified:   ts/ports/gnome/evince/evince#git-1.pkg.tar.xz
	modified:   ts/ports/gnome/gcr/gcr#3.36.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/gdl/gdl#3.34.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/geocode-glib/geocode-glib#3.26.2-2.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-control-center/gnome-control-center#3.36.4-1.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-keyring/gnome-keyring#3.36.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-mplayer/Pkgfile
	modified:   ts/ports/gnome/gnome-mplayer/gnome-mplayer#1.0.9-1.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-online-accounts/gnome-online-accounts#3.36.0-2.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-search-tool/gnome-search-tool#3.6.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/gnome-settings-daemon/Pkgfile
	modified:   ts/ports/gnome/gnome-settings-daemon/gnome-settings-daemon#3.36.1-1.pkg.tar.xz
	modified:   ts/ports/gnome/gom/.footprint
	modified:   ts/ports/gnome/gom/gom#git-2.pkg.tar.xz
	modified:   ts/ports/gnome/grilo-plugins/.footprint
	modified:   ts/ports/gnome/grilo-plugins/grilo-plugins#git-1.pkg.tar.xz
	modified:   ts/ports/gnome/grilo/grilo#0.3.13-1.pkg.tar.xz
	modified:   ts/ports/gnome/gspell/.footprint
	modified:   ts/ports/gnome/gspell/gspell#1.8.3-1.pkg.tar.xz
	modified:   ts/ports/gnome/gtk-engines/gtk-engines#2.21.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/gtk-theme-adwaita/gtk-theme-adwaita#git-1.pkg.tar.xz
	modified:   ts/ports/gnome/gtk/gtk#2.24.32-1.pkg.tar.xz
	modified:   ts/ports/gnome/gtk3/.footprint
	modified:   ts/ports/gnome/gtk3/.md5sum
	modified:   ts/ports/gnome/gtk3/Pkgfile
	renamed:    ts/ports/gnome/gtk3/gtk3#3.24.23-1.pkg.tar.xz -> ts/ports/gnome/gtk3/gtk3#3.24.29-1.pkg.tar.xz
	modified:   ts/ports/gnome/gvfs/gvfs#1.46.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/libdmapsharing/libdmapsharing#git-2.pkg.tar.xz
	modified:   ts/ports/gnome/libgdata/.footprint
	modified:   ts/ports/gnome/libgdata/libgdata#git-1.pkg.tar.xz
	modified:   ts/ports/gnome/libgnomekbd/Pkgfile
	modified:   ts/ports/gnome/libgnomekbd/libgnomekbd#3.26.1-1.pkg.tar.xz
	modified:   ts/ports/gnome/libgphoto2/.footprint
	modified:   ts/ports/gnome/libgphoto2/libgphoto2#2.5.25-1.pkg.tar.xz
	modified:   ts/ports/gnome/libgweather/libgweather#3.36.1-1.pkg.tar.xz
	new file:   ts/ports/gnome/libhandy/.footprint
	new file:   ts/ports/gnome/libhandy/.md5sum
	new file:   ts/ports/gnome/libhandy/Pkgfile
	new file:   ts/ports/gnome/libhandy/libhandy#1.2.2-1.pkg.tar.xz
	modified:   ts/ports/gnome/libpwquality/.footprint
	modified:   ts/ports/gnome/libpwquality/libpwquality#1.4.2-1.pkg.tar.xz
	modified:   ts/ports/gnome/librsvg/Pkgfile
	modified:   ts/ports/gnome/librsvg/librsvg#2.48.8-2.pkg.tar.xz
	modified:   ts/ports/gnome/libwnck-gtk3/Pkgfile
	modified:   ts/ports/gnome/libwnck-gtk3/libwnck-gtk3#3.14.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/libxml2/.footprint
	modified:   ts/ports/gnome/libxml2/.md5sum
	modified:   ts/ports/gnome/libxml2/Pkgfile
	deleted:    ts/ports/gnome/libxml2/libxml2#2.9.10-1.pkg.tar.xz
	new file:   ts/ports/gnome/libxml2/libxml2#2.9.12-1.pkg.tar.xz
	modified:   ts/ports/gnome/metacity/metacity#3.36.1-1.pkg.tar.xz
	modified:   ts/ports/gnome/networkmanager-applet/.md5sum
	modified:   ts/ports/gnome/networkmanager-applet/Pkgfile
	deleted:    ts/ports/gnome/networkmanager-applet/networkmanager-applet#1.20.0-1.pkg.tar.xz
	new file:   ts/ports/gnome/networkmanager-applet/networkmanager-applet#1.22.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/networkmanager/.footprint
	modified:   ts/ports/gnome/networkmanager/.md5sum
	modified:   ts/ports/gnome/networkmanager/Pkgfile
	deleted:    ts/ports/gnome/NetworkManager/NetworkManager#1.30.2-1.pkg.tar.xz
	new file:   ts/ports/gnome/NetworkManager/NetworkManager#1.33.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/pango/pango#1.48.5-1.pkg.tar.xz
	modified:   ts/ports/gnome/pycairo/.footprint
	modified:   ts/ports/gnome/pycairo/pycairo#1.17.0-1.pkg.tar.xz
	modified:   ts/ports/gnome/pygobject-3/.footprint
	modified:   ts/ports/gnome/pygobject-3/Pkgfile
	deleted:    ts/ports/gnome/pygobject-3/pygobject-3#3.29.2-1.pkg.tar.xz
	new file:   ts/ports/gnome/pygobject-3/pygobject-3#3.40.1-1.pkg.tar.xz
	modified:   ts/ports/gnome/pygobject2/.footprint
	modified:   ts/ports/gnome/pygobject2/Pkgfile
	modified:   ts/ports/gnome/pygobject2/pygobject2#2.28.7-1.pkg.tar.xz
	modified:   ts/ports/gnome/zenity/Pkgfile
	modified:   ts/ports/gnome/zenity/zenity#3.32.0-1.pkg.tar.xz
	new file:   ts/ports/nocache/go/.gitignore
	modified:   ts/ports/nocache/octoprint/.footprint
	modified:   ts/ports/opt/apache/.footprint
	modified:   ts/ports/opt/apache/.md5sum
	modified:   ts/ports/opt/apache/Pkgfile
	deleted:    ts/ports/opt/apache/apache#2.4.41-1.pkg.tar.xz
	new file:   ts/ports/opt/apache/apache#2.4.48-1.pkg.tar.xz
	modified:   ts/ports/opt/bash-completion/bash-completion#2.9-2.pkg.tar.xz
	modified:   ts/ports/opt/bluez/bluez#5.51-2.pkg.tar.xz
	modified:   ts/ports/opt/c-ares/c-ares#1.17.1-1.pkg.tar.xz
	modified:   ts/ports/opt/cairo/cairo#1.17.2-1.pkg.tar.xz
	modified:   ts/ports/opt/clang/.footprint
	modified:   ts/ports/opt/clang/clang#11.0.0-2.pkg.tar.xz
	modified:   ts/ports/opt/cmake/cmake#3.15.4-1.pkg.tar.xz
	modified:   ts/ports/opt/conky/conky#1.11.5-1.pkg.tar.xz
	modified:   ts/ports/opt/cups-filters/.footprint
	modified:   ts/ports/opt/cups-filters/.md5sum
	modified:   ts/ports/opt/cups-filters/Pkgfile
	deleted:    ts/ports/opt/cups-filters/cups-filters#1.25.11-1.pkg.tar.xz
	new file:   ts/ports/opt/cups-filters/cups-filters#1.28.9-1.pkg.tar.xz
	modified:   ts/ports/opt/cups/cups#2.3.3-1.pkg.tar.xz
	modified:   ts/ports/opt/dbus-python/.footprint
	modified:   ts/ports/opt/dbus-python/.md5sum
	modified:   ts/ports/opt/dbus-python/Pkgfile
	new file:   ts/ports/opt/dbus-python/dbus-python#1.2.16-1.pkg.tar.xz
	deleted:    ts/ports/opt/dbus-python/dbus-python#1.2.8-1.pkg.tar.xz
	modified:   ts/ports/opt/dbus/dbus#1.12.16-1.pkg.tar.xz
	modified:   ts/ports/opt/fontconfig/fontconfig#2.13.1-1.pkg.tar.xz
	modified:   ts/ports/opt/freeglut/.md5sum
	modified:   ts/ports/opt/freeglut/Pkgfile
	new file:   ts/ports/opt/freeglut/f-no.patch
	modified:   ts/ports/opt/freeglut/freeglut#3.2.1-1.pkg.tar.xz
	modified:   ts/ports/opt/freerdp/.footprint
	modified:   ts/ports/opt/freerdp/Pkgfile
	modified:   ts/ports/opt/FreeRDP/FreeRDP#2.0-stable-2.0.pkg.tar.xz
	modified:   ts/ports/opt/freetype/freetype#2.10.1-1.pkg.tar.xz
	modified:   ts/ports/opt/gdb/gdb#9.2-1.pkg.tar.xz
	modified:   ts/ports/opt/ghostscript/ghostscript#9.53.3-1.pkg.tar.xz
	modified:   ts/ports/opt/git/git#2.23.0-1.pkg.tar.xz
	modified:   ts/ports/opt/gobject-introspection/.footprint
	modified:   ts/ports/opt/gobject-introspection/gobject-introspection#1.62.0-1.pkg.tar.xz
	modified:   ts/ports/opt/gstreamer/.md5sum
	modified:   ts/ports/opt/gstreamer/Pkgfile
	modified:   ts/ports/opt/GStreamer/gstreamer#1.18.1-1.pkg.tar.xz
	modified:   ts/ports/opt/harfbuzz/.footprint
	modified:   ts/ports/opt/harfbuzz/.md5sum
	modified:   ts/ports/opt/harfbuzz/Pkgfile
	deleted:    ts/ports/opt/harfbuzz/harfbuzz#2.6.2-1.pkg.tar.xz
	new file:   ts/ports/opt/harfbuzz/harfbuzz#2.8.1-1.pkg.tar.xz
	modified:   ts/ports/opt/hicolor-icon-theme/hicolor-icon-theme#0.17-1.pkg.tar.xz
	modified:   ts/ports/opt/icu/.footprint
	modified:   ts/ports/opt/icu/.md5sum
	modified:   ts/ports/opt/icu/Pkgfile
	new file:   ts/ports/opt/icu/icu#69.1-1.pkg.tar.xz
	modified:   ts/ports/opt/ImageMagick/ImageMagick#7.0.10-61-1.pkg.tar.xz
	modified:   ts/ports/opt/imlib2/imlib2#1.5.1-1.pkg.tar.xz
	modified:   ts/ports/opt/ldb/.footprint
	modified:   ts/ports/opt/ldb/ldb#2.3.0-1.pkg.tar.xz
	modified:   ts/ports/opt/libunique/libunique#1.1.6-4.pkg.tar.xz
	modified:   ts/ports/opt/libwnck/Pkgfile
	modified:   ts/ports/opt/libwnck/libwnck#2.31.0-1.pkg.tar.xz
	new file:   ts/ports/opt/libwpe/.footprint
	new file:   ts/ports/opt/libwpe/.md5sum
	new file:   ts/ports/opt/libwpe/Pkgfile
	new file:   ts/ports/opt/libwpe/libwpe#1.10.1-1.pkg.tar.xz
	modified:   ts/ports/opt/llvm/.footprint
	modified:   ts/ports/opt/llvm/llvm#11.0.0-2.pkg.tar.xz
	modified:   ts/ports/opt/meson/.footprint
	modified:   ts/ports/opt/meson/meson#0.55.3-1.pkg.tar.xz
	modified:   ts/ports/opt/mupdf/Pkgfile
	modified:   ts/ports/opt/mupdf/mupdf#1.16.1-1.pkg.tar.xz
	modified:   ts/ports/opt/nspr/.md5sum
	modified:   ts/ports/opt/nspr/Pkgfile
	deleted:    ts/ports/opt/nspr/nspr#4.30-1.pkg.tar.xz
	new file:   ts/ports/opt/nspr/nspr#4.31-1.pkg.tar.xz
	modified:   ts/ports/opt/nss/.md5sum
	modified:   ts/ports/opt/nss/Pkgfile
	deleted:    ts/ports/opt/nss/nss#3.63-1.pkg.tar.xz
	new file:   ts/ports/opt/nss/nss#3.67-1.pkg.tar.xz
	modified:   ts/ports/opt/openbox/openbox#3.6.1-1.pkg.tar.xz
	modified:   ts/ports/opt/pip2/.footprint
	modified:   ts/ports/opt/pip2/pip2#pip-1.pkg.tar.xz
	modified:   ts/ports/opt/pip3/.footprint
	modified:   ts/ports/opt/pip3/pip3#pip-1.pkg.tar.xz
	modified:   ts/ports/opt/polkit/polkit#0.116-1.pkg.tar.xz
	modified:   ts/ports/opt/poppler-glib/poppler-glib#20.09.0-1.pkg.tar.xz
	modified:   ts/ports/opt/poppler/poppler#20.09.0-1.pkg.tar.xz
	modified:   ts/ports/opt/pulseaudio/pulseaudio#13.0-2.pkg.tar.xz
	modified:   ts/ports/opt/python/.footprint
	modified:   ts/ports/opt/python/.md5sum
	modified:   ts/ports/opt/python/Pkgfile
	new file:   ts/ports/opt/python/python#2.7.18-2.pkg.tar.xz
	modified:   ts/ports/opt/python3/.footprint
	modified:   ts/ports/opt/python3/.md5sum
	modified:   ts/ports/opt/python3/Pkgfile
	renamed:    ts/ports/opt/python3/python3#3.8.6-2.pkg.tar.xz -> ts/ports/opt/python3/python3#3.9.5-2.pkg.tar.xz
	modified:   ts/ports/opt/qemu/.footprint
	modified:   ts/ports/opt/qemu/.md5sum
	modified:   ts/ports/opt/qemu/Pkgfile
	modified:   ts/ports/opt/qemu/qemu#git-1.pkg.tar.xz
	deleted:    ts/ports/opt/qemu/rst-pygments.patch
	modified:   ts/ports/opt/qt5/.footprint
	modified:   ts/ports/opt/qt5/.md5sum
	modified:   ts/ports/opt/qt5/Pkgfile
	deleted:    ts/ports/opt/qt5/QTBUG-76625.patch
	deleted:    ts/ports/opt/qt5/gcc.patch
	new file:   ts/ports/opt/qt5/gcc2.patch
	renamed:    ts/ports/opt/qt5/qt5#5.12.4-2.pkg.tar.xz -> ts/ports/opt/qt5/qt5#5.12.11-2.pkg.tar.xz
	modified:   ts/ports/opt/ruby/.footprint
	modified:   ts/ports/opt/ruby/.md5sum
	modified:   ts/ports/opt/ruby/Pkgfile
	deleted:    ts/ports/opt/ruby/ruby#2.6.5-1.pkg.tar.xz
	new file:   ts/ports/opt/ruby/ruby#3.0.1-1.pkg.tar.xz
	modified:   ts/ports/opt/rust/.footprint
	modified:   ts/ports/opt/rust/.md5sum
	modified:   ts/ports/opt/rust/Pkgfile
	renamed:    ts/ports/opt/rust/rust#1.46.0-1.pkg.tar.xz -> ts/ports/opt/rust/rust#1.53.0-1.pkg.tar.xz
	modified:   ts/ports/opt/samba/.footprint
	modified:   ts/ports/opt/samba/.md5sum
	modified:   ts/ports/opt/samba/Pkgfile
	renamed:    ts/ports/opt/samba/samba#4.14.2-1.pkg.tar.xz -> ts/ports/opt/samba/samba#4.14.5-1.pkg.tar.xz
	modified:   ts/ports/opt/setuptools2/.footprint
	modified:   ts/ports/opt/setuptools2/setuptools2#pip-1.pkg.tar.xz
	modified:   ts/ports/opt/setuptools3/.footprint
	modified:   ts/ports/opt/setuptools3/setuptools3#pip-1.pkg.tar.xz
	modified:   ts/ports/opt/stunnel/.footprint
	modified:   ts/ports/opt/stunnel/.md5sum
	modified:   ts/ports/opt/stunnel/Pkgfile
	deleted:    ts/ports/opt/stunnel/stunnel#5.55-1.pkg.tar.xz
	new file:   ts/ports/opt/stunnel/stunnel#5.59-1.pkg.tar.xz
	modified:   ts/ports/opt/swig/swig#4.0.1-1.pkg.tar.xz
	modified:   ts/ports/opt/talloc/.footprint
	modified:   ts/ports/opt/talloc/talloc#2.3.2-1.pkg.tar.xz
	modified:   ts/ports/opt/tdb/.footprint
	modified:   ts/ports/opt/tdb/tdb#1.4.3-1.pkg.tar.xz
	modified:   ts/ports/opt/tevent/.footprint
	modified:   ts/ports/opt/tevent/tevent#0.10.2-1.pkg.tar.xz
	deleted:    ts/ports/opt/vte/.footprint
	deleted:    ts/ports/opt/vte/.md5sum
	deleted:    ts/ports/opt/vte/Pkgfile
	deleted:    ts/ports/opt/vte/vte#0.28.2-4.pkg.tar.xz
	deleted:    ts/ports/opt/vte/vte-0.28.2-interix.patch
	deleted:    ts/ports/opt/vte/vte-0.28.2-limit-arguments.patch
	deleted:    ts/ports/opt/vte/vte-0.28.2-repaint-after-change-scroll-region.patch
	deleted:    ts/ports/opt/vte/vte-0.30.1-alt-meta.patch
	modified:   ts/ports/opt/vte3/vte3#0.64.0-1.pkg.tar.xz
	modified:   ts/ports/opt/webkitgtk/.footprint
	modified:   ts/ports/opt/webkitgtk/.md5sum
	modified:   ts/ports/opt/webkitgtk/Pkgfile
	renamed:    ts/ports/opt/webkitgtk/webkitgtk#2.24.3-1.pkg.tar.xz -> ts/ports/opt/webkitgtk/webkitgtk#2.32.1-1.pkg.tar.xz
	modified:   ts/ports/opt/wireshark/.footprint
	modified:   ts/ports/opt/wireshark/.md5sum
	modified:   ts/ports/opt/wireshark/Pkgfile
	renamed:    ts/ports/opt/wireshark/wireshark#3.4.0-1.pkg.tar.xz -> ts/ports/opt/wireshark/wireshark#3.4.6-1.pkg.tar.xz
	new file:   ts/ports/opt/wpebackend-fdo/.footprint
	new file:   ts/ports/opt/wpebackend-fdo/.md5sum
	new file:   ts/ports/opt/wpebackend-fdo/Pkgfile
	new file:   ts/ports/opt/wpebackend-fdo/wpebackend-fdo#1.10.1-1.pkg.tar.xz
	modified:   ts/ports/perl/p5-html-tree/p5-html-tree#5.07-1.pkg.tar.xz
	modified:   ts/ports/perl/p5-net-http/p5-net-http#6.18-1.pkg.tar.xz
	modified:   ts/ports/python/certifi/.footprint
	modified:   ts/ports/python/certifi/certifi#pip-1.pkg.tar.xz
	modified:   ts/ports/python/chardet/.footprint
	modified:   ts/ports/python/chardet/chardet#pip-1.pkg.tar.xz
	modified:   ts/ports/python/cheetah/Pkgfile
	modified:   ts/ports/python/cheetah/cheetah#pip-1.pkg.tar.xz
	modified:   ts/ports/python/crypto-policies/.footprint
	modified:   ts/ports/python/crypto-policies/Pkgfile
	modified:   ts/ports/python/crypto-policies/crypto-policies#git-1.pkg.tar.xz
	modified:   ts/ports/python/cython/.footprint
	modified:   ts/ports/python/cython/cython#pip-1.pkg.tar.xz
	modified:   ts/ports/python/idna/.footprint
	modified:   ts/ports/python/idna/idna#pip-1.pkg.tar.xz
	modified:   ts/ports/python/inkcut/.footprint
	modified:   ts/ports/python/inkcut/inkcut#pip-1.pkg.tar.xz
	modified:   ts/ports/python/lxml/.footprint
	modified:   ts/ports/python/lxml/Pkgfile
	modified:   ts/ports/python/lxml/lxml#pip-1.pkg.tar.xz
	modified:   ts/ports/python/netaddr/.footprint
	modified:   ts/ports/python/netaddr/netaddr#pip-1.pkg.tar.xz
	modified:   ts/ports/python/notify2/.footprint
	modified:   ts/ports/python/notify2/notify2#pip-1.pkg.tar.xz
	modified:   ts/ports/python/pycups/.footprint
	modified:   ts/ports/python/pycups/pycups#pip-1.pkg.tar.xz
	modified:   ts/ports/python/pycurl/.footprint
	modified:   ts/ports/python/pycurl/pycurl#pip-1.pkg.tar.xz
	modified:   ts/ports/python/pyserial/.footprint
	modified:   ts/ports/python/pyserial/pyserial#pip-1.pkg.tar.xz
	modified:   ts/ports/python/pyxdg/.footprint
	modified:   ts/ports/python/pyxdg/pyxdg#pip-1.pkg.tar.xz
	modified:   ts/ports/python/pyyaml/.footprint
	modified:   ts/ports/python/pyyaml/pyyaml#pip-1.pkg.tar.xz
	modified:   ts/ports/python/requests/.footprint
	modified:   ts/ports/python/requests/requests#pip-1.pkg.tar.xz
	modified:   ts/ports/python/scapy/.footprint
	modified:   ts/ports/python/scapy/scapy#pip-1.pkg.tar.xz
	modified:   ts/ports/python/simplejson/.footprint
	modified:   ts/ports/python/simplejson/simplejson#pip-1.pkg.tar.xz
	modified:   ts/ports/python/six/.footprint
	modified:   ts/ports/python/six/six#pip-1.pkg.tar.xz
	modified:   ts/ports/python/sqlalchemy/.footprint
	modified:   ts/ports/python/sqlalchemy/sqlalchemy#pip-1.pkg.tar.xz
	modified:   ts/ports/python/traydevice/.footprint
	modified:   ts/ports/python/traydevice/.md5sum
	modified:   ts/ports/python/traydevice/traydevice#1.6.2-1.pkg.tar.xz
	modified:   ts/ports/python/traydevice/traydevice-1.6.2-dont-build-manpage.patch
	modified:   ts/ports/python/tzupdate/.footprint
	modified:   ts/ports/python/tzupdate/tzupdate#pip-1.pkg.tar.xz
	modified:   ts/ports/python/urlgrabber/.footprint
	modified:   ts/ports/python/urlgrabber/urlgrabber#pip-1.pkg.tar.xz
	modified:   ts/ports/python/urllib3/.footprint
	modified:   ts/ports/python/urllib3/urllib3#pip-1.pkg.tar.xz
	new file:   ts/ports/python/xapp/.footprint
	new file:   ts/ports/python/xapp/.md5sum
	new file:   ts/ports/python/xapp/Pkgfile
	new file:   ts/ports/python/xapp/xapp#2.2.0-1.pkg.tar.xz
	new file:   ts/ports/relegated/stropts/.footprint
	new file:   ts/ports/relegated/stropts/.md5sum
	new file:   ts/ports/relegated/stropts/Pkgfile
	new file:   ts/ports/relegated/stropts/stropts#2.39-1.pkg.tar.xz
	new file:   ts/ports/relegated/stropts/stropts.h
	modified:   ts/ports/ruby/hpricot/.footprint
	modified:   ts/ports/ruby/hpricot/hpricot#0.8.6-1.pkg.tar.xz
	modified:   ts/ports/ruby/mustache/.footprint
	modified:   ts/ports/ruby/mustache/mustache#1.1.0-1.pkg.tar.xz
	modified:   ts/ports/ruby/rdiscount/.footprint
	modified:   ts/ports/ruby/rdiscount/rdiscount#2.2.0.1-1.pkg.tar.xz
	modified:   ts/ports/ruby/ronn/.footprint
	modified:   ts/ports/ruby/ronn/ronn#0.7.3-1.pkg.tar.xz
	modified:   ts/ports/static-source/icewm-theme-bluecrux/Pkgfile
	new file:   ts/ports/static-source/icewm-theme-bluecrux/bluecrux-default-1.1.tar.gz
	modified:   ts/ports/static-source/icewm-theme-bluecrux/icewm-theme-bluecrux#1.1-1.pkg.tar.xz
	modified:   ts/ports/xfce/orage/orage#4.12.1-4.pkg.tar.xz
	modified:   ts/ports/xfce/terminal/terminal#0.8.9-1.pkg.tar.xz
	modified:   ts/ports/xfce/tumbler/tumbler#4.16.0-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfburn/xfburn#0.6.2-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfce4-notifyd/xfce4-notifyd#0.6.2-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfce4-power-manager/xfce4-power-manager#4.16.0-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfce4-screenshooter/xfce4-screenshooter#1.9.9-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfce4-session/.md5sum
	modified:   ts/ports/xfce/xfce4-session/logout.patch
	modified:   ts/ports/xfce/xfce4-taskmanager/xfce4-taskmanager#1.4.2-2.pkg.tar.xz
	modified:   ts/ports/xfce/xfce4-xkb-plugin/xfce4-xkb-plugin#0.8.2-2.pkg.tar.xz
	modified:   ts/ports/xfce/xfdesktop/xfdesktop#4.16.0-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfmpc/xfmpc#0.3.0-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfwm4-themes/xfwm4-themes#4.10.0-1.pkg.tar.xz
	modified:   ts/ports/xfce/xfwm4/xfwm4#4.16.1-1.pkg.tar.xz
	modified:   ts/ports/xorg-opt/gtkglext/gtkglext#1.2.0-11.pkg.tar.xz
	modified:   ts/ports/xorg-opt/plymouth/.footprint
	modified:   ts/ports/xorg-opt/plymouth/Pkgfile
	modified:   ts/ports/xorg-opt/plymouth/plymouth#git-20160620.pkg.tar.xz
	modified:   ts/ports/xorg-opt/xorg-xf86-input-wacom/xorg-xf86-input-wacom#0.37.0-1.pkg.tar.xz
	modified:   ts/ports/xorg/appstream/appstream#0.12.9-1.pkg.tar.xz
	modified:   ts/ports/xorg/PackageKit/PackageKit#1.1.12-1.pkg.tar.xz
	modified:   ts/ports/xorg/xkeyboard-config/.md5sum
	modified:   ts/ports/xorg/xkeyboard-config/xkeyboard-config#2.30-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-libxfont2/xorg-libxfont2#2.0.4-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-libxft/xorg-libxft#2.3.3-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-server/xorg-server#1.20.8-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xcb-proto/.footprint
	modified:   ts/ports/xorg/xorg-xcb-proto/xorg-xcb-proto#1.13-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-evdev/xorg-xf86-input-evdev#2.10.6-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-keyboard/xorg-xf86-input-keyboard#1.9.0-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-mouse/xorg-xf86-input-mouse#git-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-penmount/xorg-xf86-input-penmount#1.5.0-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-synaptics/xorg-xf86-input-synaptics#1.9.1-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-vmmouse/xorg-xf86-input-vmmouse#13.1.0-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-input-void/xorg-xf86-input-void#1.4.1-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-amdgpu/.md5sum
	modified:   ts/ports/xorg/xorg-xf86-video-amdgpu/Pkgfile
	deleted:    ts/ports/xorg/xorg-xf86-video-amdgpu/xorg-xf86-video-amdgpu#19.1.0-1.pkg.tar.xz
	new file:   ts/ports/xorg/xorg-xf86-video-amdgpu/xorg-xf86-video-amdgpu#git-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-ati/xorg-xf86-video-ati#git-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-dummy/xorg-xf86-video-dummy#0.3.8-2.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-fbdev/xorg-xf86-video-fbdev#0.5.0-2.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-intel/xorg-xf86-video-intel#git-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-nouveau/xorg-xf86-video-nouveau#1.0.16-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-nv/xorg-xf86-video-nv#2.1.20-2.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-openchrome/xorg-xf86-video-openchrome#0.3.3+-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-qxl/xorg-xf86-video-qxl#0.1.5-2.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-sis/xorg-xf86-video-sis#0.10.9-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-vesa/xorg-xf86-video-vesa#2.4.0-2.pkg.tar.xz
	modified:   ts/ports/xorg/xorg-xf86-video-vmware/xorg-xf86-video-vmware#13.3.0-1.pkg.tar.xz
	modified:   ts/ports/xorg/xorg/xorg#7.7-1.pkg.tar.xz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants