Commit Graph

232 Commits

Author SHA1 Message Date
Khaled Hosny 605bb1ee3d [subset] Add amalgam harfbuzz-subset.cc
Fixes https://github.com/harfbuzz/harfbuzz/issues/3733
2022-07-19 17:15:35 -06:00
Khaled Hosny 89939c9cc3 [ci] Fix fedora-valgrind job
Fedora 33 is EOL since 2021-11-30, try the latest Fedora release (36).
2022-05-24 03:50:59 +02:00
Khaled Hosny 449c4296a1 [ci] Try harder to fix this randomly failing job
The default --num-processes is the number of CPUs multiplied by 5,
which seems to give this VM a hard-time. Even the number of CPUs is too
much, so lets use half of that (I’m adding one just in case the division
gives zero).
2021-12-12 07:50:06 +02:00
Khaled Hosny 52a33a15a4 [ci] Try to fix the randomly failing valgrind job 2021-12-12 07:43:58 +02:00
Khaled Hosny ed65577e3d [ci] Split sanitizers job
It was running four different builds sequentially. Each should have been
its own job.
2021-11-22 03:11:36 +02:00
Khaled Hosny 69d8f27c69 [meson] Require 0.55.0
We implicitly require it for building ragel subproject. This new version
requirement should satisfied in both Fedora 33 and Debian bullseye, and
not be too cutting edge for us.
2021-11-22 03:11:36 +02:00
Khaled Hosny 7e9ac8fea2 [meson] Require ragel 6.10
Ragel 7 is also not stable from upstream's point of view.

This uses “version” argument find_program(), which was introduced in
meson 0.52.0, so I raised the minimum required meson version
accordingly.
2021-09-14 18:46:33 -06:00
Khaled Hosny e38b873eae [ci] Use different executer for win64 jobs 2021-09-07 14:13:23 +02:00
Caleb Maclennan 7f9173d67f [ci] Fix workflow so ‘publish-*’ dependencies can run
This is a documented but bizarre quirk on Circle CI: in order for a job
to run as a dependency of another job that has a filter it must also
have at least one filter of its own, even if the filter is a noop.

https://circleci.com/docs/2.0/workflows/#executing-workflows-for-a-git-tag
2021-08-18 14:25:15 +02:00
Khaled Hosny d203267e53 [ci] Remove effectively ignored filters
We want these jobs to always run, and the filter does not seem to do
anything anyway.
2021-08-15 18:29:26 +02:00
Khaled Hosny f73053edaf [ci] Don’t install unused dependencies
This is a cross build job, native libraries are not used.
2021-08-15 18:27:32 +02:00
Khaled Hosny ddb4f9b967 [ci] Build win64 binaries as well 2021-08-15 17:52:23 +02:00
Garret Rieger f3e031539f Revert "[ci] Bin FontTools version due to recent COLRv1 changes"
This reverts commit 163748b505.
2021-07-28 11:36:34 -06:00
Khaled Hosny 163748b505 [ci] Bin FontTools version due to recent COLRv1 changes
Should be reverted once HarfBuzz updated to match FontTools.
2021-07-26 23:32:48 +02:00
Khaled Hosny 5f5a8b4dd7 [ci] Use the latest stable XCode image 2021-07-12 14:05:40 -07:00
Khaled Hosny 13187d29ef [ci] Drop macOS job using deprecated XCode image 2021-07-12 14:05:40 -07:00
Khaled Hosny d3e84413fd [ci] Drop macos-10_13_6-aat-fonts job
This version of macOS is no longer supported by Homebrew, it takes 26
minutes to brew the dependencies before it fails.
2021-05-02 02:14:08 +02:00
Khaled Hosny 517d68b26e [ci] Pin fedora 33 docker image
g-ir-scanner is broken on 34 image:

FAILED: src/HarfBuzz-0.0.gir
/usr/bin/g-ir-scanner --no-libtool --namespace=HarfBuzz --nsversion=0.0 --warn-all --output src/HarfBuzz-0.0.gir --c-include=hb-gobject.h --cflags-begin -DHB_NO_SINGLE_HEADER_ERROR -DHAVE_GOBJECT -DHB_EXTERN= --cflags-end -I/root/project/src -I/root/project/build/src -I./. -I../. --filelist=/root/project/build/src/libharfbuzz-gobject.so.0.20800.0.p/HarfBuzz_0.0_gir_filelist --include=GObject-2.0 --symbol-prefix=hb --symbol-prefix=hb_gobject --identifier-prefix=hb_ --pkg-export=harfbuzz-gobject --cflags-begin -DHAVE_CONFIG_H -I./. -I../. -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I./src/. -I../src/. -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/harfbuzz -I/usr/include/gobject-introspection-1.0 --cflags-end --add-include-path=/usr/share/gir-1.0 -L/root/project/build/src --extra-library=harfbuzz --library harfbuzz-gobject -L/root/project/build/src -L/root/project/build/src --extra-library=glib-2.0 --extra-library=gobject-2.0 --extra-library=m --extra-library=freetype --extra-library=girepository-1.0 --sources-top-dirs /root/project/subprojects/ --sources-top-dirs /root/project/build/subprojects/
../src/hb-buffer.cc:641: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-face.cc:192: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-font.cc:551: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-font.cc:1519: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-map.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-ot-name.cc:55: Warning: HarfBuzz: unexpected annotation: out
../src/hb-set.cc:43: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-shape-plan.cc:173: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-shape-plan.cc:201: Warning: HarfBuzz: unknown annotation: xconstructor
../src/hb-unicode.cc:172: Warning: HarfBuzz: unknown annotation: xconstructor
g-ir-scanner: link: gcc -pthread -o /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0 /root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0.o -L. -Wl,-rpath,. -Wl,--no-as-needed -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -L/root/project/build/src -Wl,-rpath,/root/project/build/src -lharfbuzz-gobject -lharfbuzz -lglib-2.0 -lgobject-2.0 -lm -lfreetype -lgirepository-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0 -lglib-2.0
ldd: error: you do not have read permission for `/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0'
Traceback (most recent call last):
  File "/usr/bin/g-ir-scanner", line 99, in <module>
    sys.exit(scanner_main(sys.argv))
  File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 599, in scanner_main
    shlibs = create_binary(transformer, options, args)
  File "/usr/lib64/gobject-introspection/giscanner/scannermain.py", line 428, in create_binary
    shlibs = resolve_shlibs(options, binary, options.libraries)
  File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 170, in resolve_shlibs
    _resolve_non_libtool(options, binary, non_libtool))
  File "/usr/lib64/gobject-introspection/giscanner/shlibs.py", line 106, in _resolve_non_libtool
    output = subprocess.check_output(args)
  File "/usr/lib64/python3.9/subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "/usr/lib64/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['ldd', '/root/project/build/tmp-introspecta9rymai3/HarfBuzz-0.0']' returned non-zero exit status 1.
ninja: build stopped: subcommand failed.
2021-05-02 00:08:04 +02:00
Khaled Hosny c571a96eb0 [ci] Disable Chafa on jobs that enables all auto features
No suitable versions are available on these setups.
2021-04-26 12:13:10 -06:00
Khaled Hosny f2240d12c2 [ci] Use -j2 for make and ninja in distcheck job
Lets see if this makes it faster without crashing gcc.
2021-04-15 18:47:51 -06:00
Khaled Hosny f5c922b709 [ci] Try to stop distcheck job from crashing gcc 2021-04-15 18:47:51 -06:00
Khaled Hosny 743baf3543 [build] Don’t look for FontConfig
We don’t currently use it anywhere. It was used briefly for the
hb-fc-list tool, but this tool have not been built since 2015:

commit cd042fc8c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jun 18 10:55:13 2015 -0700

    [util] Disable hb-fc-list for now

    Until I figure out what to do about the API, and finalize
    the tool.
2021-03-29 15:54:51 -06:00
Behdad Esfahbod f5356bcb61 [ci] Switch back to c++2a
Okay I guess we can be bothered to fix things up for next version of C++.

Reverts meat of c0b3b9b258
2021-03-15 16:52:39 -06:00
Behdad Esfahbod 9582640eed [ci] Remove more cruft
All were commented out already.
2021-03-15 16:48:16 -06:00
Behdad Esfahbod c0b3b9b258 [ci] Don't test C++2a build
One of the bots is unhappy when HB_NODISCARD comes after HB_INTERNAL.
No idea why. But, again, we're testing HarfBuzz, not C++, not clang. Ugh.

In file included from src/harfbuzz.cc:1:
In file included from src/hb-aat-layout.cc:30:
In file included from src/hb-aat-layout.hh:32:
In file included from src/hb-ot-shape.hh:32:
In file included from src/hb-ot-map.hh:32:
src/hb-buffer.hh:335:15: error: an attribute list cannot appear here
  HB_INTERNAL HB_NODISCARD bool move_to (unsigned int i); /* i is output-buffer index. */
              ^~~~~~~~~~~~
https://app.circleci.com/pipelines/github/harfbuzz/harfbuzz/1693/workflows/77459205-a189-45d3-bc58-52a8fd952c3f/jobs/155912/parallel-runs/0/steps/0-110?invite=true
2021-03-15 16:48:07 -06:00
Behdad Esfahbod 4d116ed0f0 [ci] Remove cmake
Apparently(?) our cmake build never bothered setting up pthreads.
So when I removed the busy-loop mutex impl it now doesn't build.

711c241f6c

https://github.com/harfbuzz/harfbuzz/pull/2874#issuecomment-782778263
2021-02-22 17:14:45 -07:00
Khaled Hosny 094406b67b [ci] Disable failing Arch Linux job
Some g-ir-scanner failure that does not seem to be related to us. The
job does not seem to be testing anything interesting anyway.
2021-02-10 23:22:02 +02:00
Khaled Hosny e8c15b7a1c [ci] Install gobject-introspection on distcheck job
To fix missing --enable-introspection from release tarballs.

Fixes https://github.com/harfbuzz/harfbuzz/issues/2779
2020-12-26 23:17:08 +02:00
Khaled Hosny bac8a856f8 Revert "[CI] Don’t install ragel on circleci jobs"
This reverts commit 9a9da110a5.
2020-11-21 08:41:06 -07:00
Xavier Claessens a082fe400d ci: Install meson 0.56.0 in crossbuild-win32
It is required for using cairo as subproject.
2020-11-17 11:52:35 -05:00
Khaled Hosny 5adc1344a4 [ci] Upload meason logs on some CircleCI jobs 2020-10-23 19:02:54 +02:00
Khaled Hosny 71376f88ef [ci] CircleCI removed xcode:9.0.1 image
The replacement run newer versions of macOS (10.13.3), making this job
obsolete as it tests nothing the other jobs don’t test.
2020-10-23 19:02:41 +02:00
Khaled Hosny 9a9da110a5 [CI] Don’t install ragel on circleci jobs
Latest ragel version is broken (https://github.com/adrian-thurston/ragel/issues/56), but we also don’t need to regenerate state machine on CI jobs.
2020-10-17 09:24:54 -07:00
Khaled Hosny 84dd65a874 [test] Remove timeout from test runners
See https://github.com/harfbuzz/harfbuzz/issues/2707#issuecomment-707744079

This wasn’t inconsistent as well, HB_TEST_SUBSET_FUZZER_TIMEOUT defaulted
to 12 in the test runner, but it was overridden to 50 in meson.build,
and then meson has its own test timeout.
2020-10-15 00:49:02 -07:00
Caleb Maclennan e43b9a29a9
[ci] Trigger dependencies of publish jobs on tags 2020-09-11 22:21:59 +03:00
Caleb Maclennan deb09e0d75
[ci] Tweak job names so config is valid Circle 2.1 schema 2020-09-11 20:12:35 +03:00
Caleb Maclennan f4dea33f6d
[ci] Move repeated artifact upload job code to script 2020-09-11 20:12:24 +03:00
Caleb Maclennan 65be538fff
[ci] Add job to publish autotools dist file to GitHub 2020-09-11 20:12:14 +03:00
Caleb Maclennan 42bcc47d01
[ci] Use executor with Circle's image for autotools job 2020-09-11 20:11:52 +03:00
Caleb Maclennan c70f509022
[ci] Use `ghr` CLI tool to post Win32 artifact to GitHub 2020-09-11 20:11:38 +03:00
Caleb Maclennan 610ed3b42c
[ci] Add job to publish Win32 releases and pass it artifacts 2020-09-11 20:11:22 +03:00
Caleb Maclennan a2d45cd5f7
[ci] Use Circle's customized image for workspace support 2020-09-11 20:10:43 +03:00
Ebrahim Byagowi 6e32145dc9 [meson] Make compatbile with 0.47.0 2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 58209c86a0 [meson] Make compatbile with 0.49.0
Contains a just put together summary feature polyfill and workaround
to broken ternary operator.
2020-08-13 18:28:42 +04:30
Ebrahim Byagowi 2af58c3518 Revert "Remove cmake build files"
This reverts commit 4e572c9407.
2020-08-12 01:00:33 +04:30
Ebrahim Byagowi 5193357832 Revert "Remove autotools build support"
This reverts commit 01ac32aab2.
2020-08-11 23:51:59 +04:30
ebraminio c0107c1e6e
[ci] test experimental APIs in Arch Linux and sanitizers 2020-08-10 14:30:34 +04:30
Ebrahim Byagowi 01ac32aab2 Remove autotools build support 2020-08-07 23:28:12 +04:30
Ebrahim Byagowi 50151567c1 [ci] Disable Travis CI 2020-08-02 11:08:12 +04:30
Ebrahim Byagowi 4e572c9407
Remove cmake build files
As discussed in https://github.com/harfbuzz/harfbuzz/pull/2252
2020-07-30 16:19:15 +04:30