Sat Aug 8 19:11:13 2020 UTC ()
harfbuzz: Update to 2.7.0

Overview of changes leading to 2.7.0
Saturday, July 25, 2020
====================================
- Use an implementation for round that always rounds up, some minor fluctuations
  are expected on var font specially when hb-ot callback is used.
- Fix an AAT's `kerx` issue on broken rendering of Devanagari Sangam MN.
- Remove AAT's `lcar` table support from _get_ligature_carets API, not even much
  use on macOS installed fonts (only two files).  GDEF support is the recommended
  one and expected to work properly after issues fixed two releases ago.
- Minor memory fixes to handle OOM better specially in hb-ft.
- Minor .so files versioning scheme change and remove stable/unstable scheme
  differences, was never used in practice (always default to stable scheme).
- We are now suggesting careful packaging of the library using meson,
  https://github.com/harfbuzz/harfbuzz/wiki/Notes-on-migration-to-meson
  for more information.
- Distribution package URL is changed, either use GitHub generated tarballs,
  `https://github.com/harfbuzz/harfbuzz/archive/$pkgver.tar.gz`
  or, even more preferably use commit hash of the release and git checkouts like,
  `git+https://github.com/harfbuzz/harfbuzz#commit=$commit`


(nia)
diff -r1.130 -r1.131 pkgsrc/fonts/harfbuzz/Makefile
diff -r1.40 -r1.41 pkgsrc/fonts/harfbuzz/PLIST
diff -r1.97 -r1.98 pkgsrc/fonts/harfbuzz/distinfo
diff -r1.4 -r1.5 pkgsrc/fonts/harfbuzz/options.mk

cvs diff -r1.130 -r1.131 pkgsrc/fonts/harfbuzz/Makefile (expand / switch to unified diff)

--- pkgsrc/fonts/harfbuzz/Makefile 2020/06/29 13:44:02 1.130
+++ pkgsrc/fonts/harfbuzz/Makefile 2020/08/08 19:11:13 1.131
@@ -1,75 +1,80 @@ @@ -1,75 +1,80 @@
1# $NetBSD: Makefile,v 1.130 2020/06/29 13:44:02 nia Exp $ 1# $NetBSD: Makefile,v 1.131 2020/08/08 19:11:13 nia Exp $
2 2
3DISTNAME= harfbuzz-2.6.8 3DISTNAME= harfbuzz-2.7.0
4CATEGORIES= fonts 4CATEGORIES= fonts
5MASTER_SITES= ${MASTER_SITE_GITHUB:=harfbuzz/} 5MASTER_SITES= ${MASTER_SITE_GITHUB:=harfbuzz/}
6GITHUB_RELEASE= ${PKGVERSION_NOREV} 6GITHUB_TAG= ${PKGVERSION_NOREV}
7EXTRACT_SUFX= .tar.xz 
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://harfbuzz.github.io/ 9HOMEPAGE= https://harfbuzz.github.io/
11COMMENT= OpenType text shaping engine 10COMMENT= OpenType text shaping engine
12LICENSE= mit 11LICENSE= mit
13 12
14# C++11 13# C++11
15GCC_REQD+= 4.9 14GCC_REQD+= 4.9
16 15
17.include "../../mk/bsd.prefs.mk" 16.include "../../mk/bsd.prefs.mk"
18PLIST_VARS+= graphite2 
19.include "../../graphics/librsvg/available.mk" 17.include "../../graphics/librsvg/available.mk"
20 18
21USE_LANGUAGES= c c++11 19USE_LANGUAGES= c c++
22USE_LIBTOOL= yes 20USE_TOOLS+= pkg-config
23USE_TOOLS+= gmake pkg-config 21
24GNU_CONFIGURE= yes 22# cairo/fontconfig are only needed for command line utilities
25CONFIGURE_ARGS+= --with-cairo=no 23MESON_ARGS+= -Dcairo=disabled
 24MESON_ARGS+= -Dfontconfig=disabled
 25
 26MESON_ARGS+= -Dintrospection=disabled
 27
 28PLIST_VARS+= graphite2
26.if ${LIBRSVG_TYPE} == "rust" 29.if ${LIBRSVG_TYPE} == "rust"
27CONFIGURE_ARGS+= --with-graphite2=yes 30MESON_ARGS+= -Dgraphite=enabled
28PLIST.graphite2= yes 31PLIST.graphite2= yes
29.else 32.else
30CONFIGURE_ARGS+= --with-graphite2=no 33MESON_ARGS+= -Dgraphite=disabled
31.endif 34.endif
32 35
33PKGCONFIG_OVERRIDE+= src/harfbuzz.pc.in 36PKGCONFIG_OVERRIDE+= output/meson-private/*.pc
34PKGCONFIG_OVERRIDE+= src/harfbuzz-icu.pc.in 37
35PKGCONFIG_OVERRIDE+= src/harfbuzz-subset.pc.in 38PKGCONFIG_OVERRIDE_STAGE= pre-install
36 39
37LDFLAGS.OpenBSD+= -lz 40LDFLAGS.OpenBSD+= -lz
38 41
39.include "options.mk" 42.include "options.mk"
40 43
41# gcc too old 44# gcc too old
42BUILDLINK_TRANSFORM.MirBSD+= rm:-fvisibility-inlines-hidden 45BUILDLINK_TRANSFORM.MirBSD+= rm:-fvisibility-inlines-hidden
43 46
44PLIST_VARS+= coretext 47PLIST_VARS+= coretext
45 48
46.if ${OPSYS} == "Darwin" 49.if ${OPSYS} == "Darwin"
47. if !empty(OS_VERSION:M[0-8].*) 50. if !empty(OS_VERSION:M[0-8].*)
48# MacOS X < 10.5 does not have CoreText. 51# MacOS X < 10.5 does not have CoreText.
49CONFIGURE_ARGS+= --with-coretext=no 52MESON_ARGS+= -Dcoretext=disabled
50 53
51. elif !empty(OS_VERSION:M9.*) 54. elif !empty(OS_VERSION:M9.*)
52# MacOS X 10.5 has CoreText but it's 55# MacOS X 10.5 has CoreText but it's
53# buggy. CTLineCreateWithAttributedString() seemingly fails when 56# buggy. CTLineCreateWithAttributedString() seemingly fails when
54# trying to use a font which isn't installed into the system standard 57# trying to use a font which isn't installed into the system standard
55# path. 58# path.
56# See http://forum.libcinder.org/topic/text-not-working-in-leopard-osx-10-5 59# See http://forum.libcinder.org/topic/text-not-working-in-leopard-osx-10-5
57CONFIGURE_ARGS+= --with-coretext=no 60MESON_ARGS+= -Dcoretext=disabled
58 61
59. else 62. else
60CONFIGURE_ARGS+= --with-coretext=yes 63MESON_ARGS+= -Dcoretext=enabled
61PLIST.coretext= yes 64PLIST.coretext= yes
62. endif 65. endif
63.endif 66.endif
64 67
 68PYTHON_FOR_BUILD_ONLY= tool
 69
 70.include "../../devel/meson/build.mk"
65.include "../../devel/glib2/buildlink3.mk" 71.include "../../devel/glib2/buildlink3.mk"
66.include "../../devel/zlib/buildlink3.mk" 72.include "../../devel/zlib/buildlink3.mk"
67#cairo is only needed for the hb-view command line utility 
68#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.8.0 73#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.8.0
69#.include "../../graphics/cairo/buildlink3.mk" 74#.include "../../graphics/cairo/buildlink3.mk"
70.include "../../graphics/freetype2/buildlink3.mk" 75.include "../../graphics/freetype2/buildlink3.mk"
71.if ${LIBRSVG_TYPE} == "rust" 76.if ${LIBRSVG_TYPE} == "rust"
72# graphite2 support breaks graphics/librsvg-c 77# graphite2 support breaks graphics/librsvg-c
73.include "../../graphics/graphite2/buildlink3.mk" 78.include "../../graphics/graphite2/buildlink3.mk"
74.endif 79.endif
75.include "../../mk/bsd.pkg.mk" 80.include "../../mk/bsd.pkg.mk"

cvs diff -r1.40 -r1.41 pkgsrc/fonts/harfbuzz/PLIST (expand / switch to unified diff)

--- pkgsrc/fonts/harfbuzz/PLIST 2020/06/29 13:44:02 1.40
+++ pkgsrc/fonts/harfbuzz/PLIST 2020/08/08 19:11:13 1.41
@@ -1,55 +1,68 @@ @@ -1,55 +1,68 @@
1@comment $NetBSD: PLIST,v 1.40 2020/06/29 13:44:02 nia Exp $ 1@comment $NetBSD: PLIST,v 1.41 2020/08/08 19:11:13 nia Exp $
2bin/hb-ot-shape-closure 2bin/hb-ot-shape-closure
3bin/hb-shape 3bin/hb-shape
4bin/hb-subset 4bin/hb-subset
5include/harfbuzz/hb-aat-layout.h 5include/harfbuzz/hb-aat-layout.h
6include/harfbuzz/hb-aat.h 6include/harfbuzz/hb-aat.h
7include/harfbuzz/hb-blob.h 7include/harfbuzz/hb-blob.h
8include/harfbuzz/hb-buffer.h 8include/harfbuzz/hb-buffer.h
9include/harfbuzz/hb-common.h 9include/harfbuzz/hb-common.h
10${PLIST.coretext}include/harfbuzz/hb-coretext.h 10${PLIST.coretext}include/harfbuzz/hb-coretext.h
11include/harfbuzz/hb-deprecated.h 11include/harfbuzz/hb-deprecated.h
12include/harfbuzz/hb-draw.h 12include/harfbuzz/hb-draw.h
13include/harfbuzz/hb-face.h 13include/harfbuzz/hb-face.h
14include/harfbuzz/hb-font.h 14include/harfbuzz/hb-font.h
15include/harfbuzz/hb-ft.h 15include/harfbuzz/hb-ft.h
16include/harfbuzz/hb-glib.h 16include/harfbuzz/hb-glib.h
17${PLIST.graphite2}include/harfbuzz/hb-graphite2.h 17${PLIST.graphite2}include/harfbuzz/hb-graphite2.h
 18include/harfbuzz/hb-gobject-enums.h
 19include/harfbuzz/hb-gobject-structs.h
 20include/harfbuzz/hb-gobject.h
18${PLIST.icu}include/harfbuzz/hb-icu.h 21${PLIST.icu}include/harfbuzz/hb-icu.h
19include/harfbuzz/hb-map.h 22include/harfbuzz/hb-map.h
20include/harfbuzz/hb-ot-color.h 23include/harfbuzz/hb-ot-color.h
21include/harfbuzz/hb-ot-deprecated.h 24include/harfbuzz/hb-ot-deprecated.h
22include/harfbuzz/hb-ot-font.h 25include/harfbuzz/hb-ot-font.h
23include/harfbuzz/hb-ot-layout.h 26include/harfbuzz/hb-ot-layout.h
24include/harfbuzz/hb-ot-math.h 27include/harfbuzz/hb-ot-math.h
25include/harfbuzz/hb-ot-meta.h 28include/harfbuzz/hb-ot-meta.h
26include/harfbuzz/hb-ot-metrics.h 29include/harfbuzz/hb-ot-metrics.h
27include/harfbuzz/hb-ot-name.h 30include/harfbuzz/hb-ot-name.h
28include/harfbuzz/hb-ot-shape.h 31include/harfbuzz/hb-ot-shape.h
29include/harfbuzz/hb-ot-var.h 32include/harfbuzz/hb-ot-var.h
30include/harfbuzz/hb-ot.h 33include/harfbuzz/hb-ot.h
31include/harfbuzz/hb-set.h 34include/harfbuzz/hb-set.h
32include/harfbuzz/hb-shape-plan.h 35include/harfbuzz/hb-shape-plan.h
33include/harfbuzz/hb-shape.h 36include/harfbuzz/hb-shape.h
34include/harfbuzz/hb-style.h 37include/harfbuzz/hb-style.h
35include/harfbuzz/hb-subset.h 38include/harfbuzz/hb-subset.h
36include/harfbuzz/hb-unicode.h 39include/harfbuzz/hb-unicode.h
37include/harfbuzz/hb-version.h 40include/harfbuzz/hb-version.h
38include/harfbuzz/hb.h 41include/harfbuzz/hb.h
39lib/cmake/harfbuzz/harfbuzz-config.cmake 42lib/cmake/harfbuzz/harfbuzz-config.cmake
40${PLIST.icu}lib/libharfbuzz-icu.la 43lib/libharfbuzz-gobject.so
41lib/libharfbuzz-subset.la 44lib/libharfbuzz-gobject.so.0
42lib/libharfbuzz.la 45lib/libharfbuzz-gobject.so.0.20700.0
 46${PLIST.icu}lib/libharfbuzz-icu.so
 47${PLIST.icu}lib/libharfbuzz-icu.so.0
 48${PLIST.icu}lib/libharfbuzz-icu.so.0.20700.0
 49lib/libharfbuzz-subset.so
 50lib/libharfbuzz-subset.so.0
 51lib/libharfbuzz-subset.so.0.20700.0
 52lib/libharfbuzz.so
 53lib/libharfbuzz.so.0
 54lib/libharfbuzz.so.0.20700.0
 55lib/pkgconfig/harfbuzz-gobject.pc
43${PLIST.icu}lib/pkgconfig/harfbuzz-icu.pc 56${PLIST.icu}lib/pkgconfig/harfbuzz-icu.pc
44lib/pkgconfig/harfbuzz-subset.pc 57lib/pkgconfig/harfbuzz-subset.pc
45lib/pkgconfig/harfbuzz.pc 58lib/pkgconfig/harfbuzz.pc
46share/gtk-doc/html/harfbuzz/HarfBuzz.png 59share/gtk-doc/html/harfbuzz/HarfBuzz.png
47share/gtk-doc/html/harfbuzz/HarfBuzz.svg 60share/gtk-doc/html/harfbuzz/HarfBuzz.svg
48share/gtk-doc/html/harfbuzz/a-clustering-example-for-levels-0-and-1.html 61share/gtk-doc/html/harfbuzz/a-clustering-example-for-levels-0-and-1.html
49share/gtk-doc/html/harfbuzz/aat-shaping.html 62share/gtk-doc/html/harfbuzz/aat-shaping.html
50share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html 63share/gtk-doc/html/harfbuzz/adding-text-to-the-buffer.html
51share/gtk-doc/html/harfbuzz/annotation-glossary.html 64share/gtk-doc/html/harfbuzz/annotation-glossary.html
52share/gtk-doc/html/harfbuzz/api-index-full.html 65share/gtk-doc/html/harfbuzz/api-index-full.html
53share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html 66share/gtk-doc/html/harfbuzz/buffers-language-script-and-direction.html
54share/gtk-doc/html/harfbuzz/building.html 67share/gtk-doc/html/harfbuzz/building.html
55share/gtk-doc/html/harfbuzz/ch01s03.html 68share/gtk-doc/html/harfbuzz/ch01s03.html

cvs diff -r1.97 -r1.98 pkgsrc/fonts/harfbuzz/distinfo (expand / switch to unified diff)

--- pkgsrc/fonts/harfbuzz/distinfo 2020/06/29 13:44:02 1.97
+++ pkgsrc/fonts/harfbuzz/distinfo 2020/08/08 19:11:13 1.98
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
1$NetBSD: distinfo,v 1.97 2020/06/29 13:44:02 nia Exp $ 1$NetBSD: distinfo,v 1.98 2020/08/08 19:11:13 nia Exp $
2 2
3SHA1 (harfbuzz-2.6.8.tar.xz) = 22f3b273b8db325d1638417a9f3359fc652bea30 3SHA1 (harfbuzz-2.7.0.tar.gz) = 499274420870cb3147f2758adafe4ef61f91f7eb
4RMD160 (harfbuzz-2.6.8.tar.xz) = 096f89bbe8a49e4351845a198a93f831d4d1fdcc 4RMD160 (harfbuzz-2.7.0.tar.gz) = 32d29e63b5af3c53674b6e66792e39a3152e13fb
5SHA512 (harfbuzz-2.6.8.tar.xz) = 651b23d7d4fab6fef472ee57db39bbaebc31c2f40ea3a482c1499ad1a7b549b86a2bccbe9da191c8e9ecdf464191dd3c9a7485546b51695ad8ab3c0329732d9d 5SHA512 (harfbuzz-2.7.0.tar.gz) = 65d5b9bd3a53be659dd7d220da220f6873f7246c2ab11205132998e4ac4245fcf51b6968e705b81cc7652db5bbacc90c8db977cf1020edf7957a626a19e055c0
6Size (harfbuzz-2.6.8.tar.xz) = 8976516 bytes 6Size (harfbuzz-2.7.0.tar.gz) = 16278518 bytes

cvs diff -r1.4 -r1.5 pkgsrc/fonts/harfbuzz/options.mk (expand / switch to unified diff)

--- pkgsrc/fonts/harfbuzz/options.mk 2018/11/23 09:50:55 1.4
+++ pkgsrc/fonts/harfbuzz/options.mk 2020/08/08 19:11:13 1.5
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: options.mk,v 1.4 2018/11/23 09:50:55 abs Exp $ 1# $NetBSD: options.mk,v 1.5 2020/08/08 19:11:13 nia Exp $
2 2
3PKG_OPTIONS_VAR= PKG_OPTIONS.harfbuzz 3PKG_OPTIONS_VAR= PKG_OPTIONS.harfbuzz
4PKG_SUPPORTED_OPTIONS+= icu 4PKG_SUPPORTED_OPTIONS+= icu
5PKG_SUGGESTED_OPTIONS= icu 5PKG_SUGGESTED_OPTIONS= icu
6 6
7.include "../../mk/bsd.options.mk" 7.include "../../mk/bsd.options.mk"
8 8
9PLIST_VARS+= icu 9PLIST_VARS+= icu
10 10
11.if !empty(PKG_OPTIONS:Micu) 11.if !empty(PKG_OPTIONS:Micu)
12.include "../../textproc/icu/buildlink3.mk" 12.include "../../textproc/icu/buildlink3.mk"
13CONFIGURE_ARGS+= --with-icu=yes 13MESON_ARGS+= -Dicu=enabled
14PLIST.icu= yes 
15.else 14.else
16CONFIGURE_ARGS+= --with-icu=no 15MESON_ARGS+= -Dicu=disabled
17.endif 16.endif