Bug 248407 - print/harfbuzz: Update to 2.7.1 and switch to meson
Summary: print/harfbuzz: Update to 2.7.1 and switch to meson
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Jan Beich
URL: https://github.com/harfbuzz/harfbuzz/...
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-01 09:13 UTC by daniel.engberg.lists
Modified: 2020-08-19 17:48 UTC (History)
3 users (show)

See Also:
bugzilla: maintainer-feedback? (gnome)


Attachments
Patch for harfbuzz (11.66 KB, patch)
2020-08-01 09:13 UTC, daniel.engberg.lists
no flags Details | Diff
Patch for harfbuzz v2 (17.84 KB, patch)
2020-08-01 18:59 UTC, daniel.engberg.lists
no flags Details | Diff
Patch for harfbuzz v3 (17.70 KB, patch)
2020-08-01 21:13 UTC, daniel.engberg.lists
no flags Details | Diff
Patch for harfbuzz 2.7.1 (16.23 KB, patch)
2020-08-15 14:11 UTC, daniel.engberg.lists
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description daniel.engberg.lists 2020-08-01 09:13:48 UTC
Created attachment 216930 [details]
Patch for harfbuzz

Update harfbuzz to 2.7.0
Switch to meson as it's now the recommended build system by upstream. [1]

[1] https://github.com/harfbuzz/harfbuzz/blob/master/BUILD.md
Comment 1 daniel.engberg.lists 2020-08-01 09:15:45 UTC
Before I continue working on this I'd like to ask if there are any opinions of not adding a docs option, mainly because it adds quite a lot of dependencies.

There's also a false positive running tests which I'll report upstream.
Comment 2 daniel.engberg.lists 2020-08-01 18:59:07 UTC
Created attachment 216945 [details]
Patch for harfbuzz v2

Complete list:

Update harfbuzz to 2.7.0
Switch to GitHub
Switch to meson as it's now the recommended build system by upstream. [1]
Add option to exclude DOCS

Tested on FreeBSD 13.0-CURRENT r361421 (amd64) (make test)
One test fails, check-libstdc++
Reported to upstream here: https://github.com/harfbuzz/harfbuzz/issues/2614

Poudriere testport OK 12.1-RELEASE (amd64)
print/harfbuzz
print/harfbuzz-icu
print/harfbuzz-hb-view
Comment 3 daniel.engberg.lists 2020-08-01 21:13:40 UTC
Created attachment 216946 [details]
Patch for harfbuzz v3

Import commit 11bb8aa83e57b288241b9156706e6f8d25eaf383 from upstream to fix make test target.
Comment 4 daniel.engberg.lists 2020-08-15 14:11:14 UTC
Created attachment 217232 [details]
Patch for harfbuzz 2.7.1

Tested on FreeBSD 13.0-CURRENT r361421 (amd64) (make test)
Test OK

Poudriere testport OK 12.1-RELEASE (amd64)
print/harfbuzz
print/harfbuzz-icu
print/harfbuzz-hb-view
Comment 5 commit-hook freebsd_committer 2020-08-19 17:47:15 UTC
A commit references this bug:

Author: jbeich
Date: Wed Aug 19 17:46:57 UTC 2020
New revision: 545444
URL: https://svnweb.freebsd.org/changeset/ports/545444

Log:
  print/harfbuzz: update to 2.7.1

  Changes:	https://github.com/harfbuzz/harfbuzz/releases/tag/2.7.0
  Changes:	https://github.com/harfbuzz/harfbuzz/releases/tag/2.7.1
  ABI:		https://abi-laboratory.pro/tracker/timeline/harfbuzz/
  PR:		248407

Changes:
  head/print/harfbuzz/Makefile
  head/print/harfbuzz/distinfo
  head/print/harfbuzz-icu/Makefile
Comment 6 commit-hook freebsd_committer 2020-08-19 17:47:16 UTC
A commit references this bug:

Author: jbeich
Date: Wed Aug 19 17:47:04 UTC 2020
New revision: 545445
URL: https://svnweb.freebsd.org/changeset/ports/545445

Log:
  print/harfbuzz: convert to USES=meson

  - Switch to Meson as autotools and manually uploaded distfile are no longer
    maintained. Both were gone in 2.7.0 but temporarily restored in 2.7.1
  - Add option to exclude DOCS
  - Drop now pruned transitive gettext dependency

  PR:		248407
  Submitted by:	daniel.engberg.lists@pyret.net
  Approved by:	maintainer timeout (2 weeks)

Changes:
  head/print/harfbuzz/Makefile
  head/print/harfbuzz/distinfo
  head/print/harfbuzz/pkg-plist
Comment 7 Jan Beich freebsd_committer 2020-08-19 17:48:45 UTC
Thanks. Landed with minor changes (see below).

> +USES=		compiler:c++11-lib gettext-runtime gnome meson \
> +		pkgconfig python:build shebangfix

USES=gettext-runtime isn't used anymore because USES=meson has implicit -Wl,--as-needed but -lintl was previously overlinked due to USE_GNOME=glib20 (see "pkg-config glib-2.0 --libs")

> .if ${HARFBUZZ_SLAVE} == no
> OPTIONS_DEFINE=	DOCS TEST
> OPTIONS_SUB=	yes
> .endif
> 
> MESON_ARGS=	-Dglib=enabled -Dgobject=enabled -Dgraphite=enabled \
> 		-Dfreetype=enabled -Dbenchmark=disabled
> 
> PLIST_SUB+=	LIBVER=0.20701.0
> 
> .if ${HARFBUZZ_SLAVE} == no
> DOCS_BUILD_DEPENDS=	gtkdoc-scan:textproc/gtk-doc
> DOCS_MESON_ENABLED=	docs
> TEST_MESON_ENABLED=	tests
> .endif

Readability here was poor:
- Global flags (MESON_ARGS, PLIST_SUB) mixed with OPTION-specific flags (*_ENABLED)
- More than one conditional to handle OPTION-specific flags

> TEST_TARGET=	test

Already defined by default via USES=meson.