Commit graph

250 commits

Author SHA1 Message Date
Khaled Hosny
6898a6048c [meson] Update wrap files
This also updates the meson version on Windows cross-build jobs as wraps
now requires newer versions of meson. We still require only meson 0.55.0
for building HarfBuzz, but building with fallback wraps is allowed
to require newer meson.
2024-11-09 13:17:58 +02:00
Khaled Hosny
1a06d3f519 [ci] Fix tarball path 2024-06-27 18:44:51 +03:00
Khaled Hosny
b9d243ef40 Try to fix macos-aat-fonts job 2024-06-27 15:28:38 +03:00
Khaled Hosny
e2cd1be6ee Try to fix dist job 2024-06-27 15:28:38 +03:00
Khaled Hosny
cf1fdf1632 Drop autotools build
Fixes https://github.com/harfbuzz/harfbuzz/issues/4720
2024-06-27 15:28:38 +03:00
Khaled Hosny
b3e4721af7 Revert "[ci] Enable experimental_api on distcheck job"
This reverts commit 89570d1959.
2024-04-09 18:54:36 +02:00
Khaled Hosny
89570d1959 [ci] Enable experimental_api on distcheck job 2024-04-09 08:41:11 -05:00
Khaled Hosny
5852d328a4 [circleci] Run pip inside a virtual environment
Looks like newer versions of python disable pip for system-managed
installations. This should unbreak alpine job and prevent other jobs
from potentially breaking in the future.
2024-01-06 17:35:15 +02:00
Behdad Esfahbod
36f5e654a6 [circleci] Roll back msan/tsan ubuntu image
Job gets stuck at compiling with the newer image :(.
2023-11-04 16:17:32 -06:00
Behdad Esfahbod
6ff0932722 [circleci] Roll images 2023-11-04 15:42:13 -06:00
Khaled Hosny
424f5f2c0d [ci] Don’t build docs while building Windows binaries 2023-02-20 16:05:53 +02:00
Khaled Hosny
59cd1b17a9 [ci] Don’t build docs on macos-aat-fonts job
It fails ninja test, but superfluous anyway.
2023-02-11 20:59:44 +02:00
Khaled Hosny
9ca8e7564b Revert "[circleci] Make dist tarball with meson"
This reverts commit 80157cc60b.

That was a thinko, meson generated dist tarballs are not usable for
autotools build as they will miss generated autotools files.
2022-12-18 17:44:41 +02:00
Khaled Hosny
31ba950b71 [circleci] Don’t run tests in dist 2022-12-17 16:24:20 +02:00
Khaled Hosny
f22e42d737 [circleci] Remove cruft 2022-12-17 16:24:20 +02:00
Khaled Hosny
21e866b8b5 [circleci] Unify meson commands a bit 2022-12-17 16:24:20 +02:00
Khaled Hosny
80157cc60b [circleci] Make dist tarball with meson 2022-12-17 16:24:20 +02:00
Khaled Hosny
bd7c458028 [meson] Update glib wrap
Use the one from WrapDB.
2022-12-16 22:00:08 +02:00
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