aboutsummaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRosen Penev <rosenp@gmail.com>2021-03-09 15:27:44 -0800
committerGitHub <noreply@github.com>2021-03-09 15:27:44 -0800
commite8419e1003ba9ba43714ff8f9435a972e553a8c3 (patch)
tree51a234da8cc34ce135644fdb2651c12c0f369368 /libs
parentafeb5d25dc0bc8935e9d1c196cf59b7cbd77f487 (diff)
parentdd65dac8b3ea1a69f324af55d17aa5ad25fc3ffa (diff)
Merge pull request #15018 from neheb/freetype
freetype: switch to meson
Diffstat (limited to 'libs')
-rw-r--r--libs/freetype/Makefile32
-rw-r--r--libs/freetype/patches/010-meson.patch37
-rw-r--r--libs/freetype/patches/020-distutils.patch11
3 files changed, 67 insertions, 13 deletions
diff --git a/libs/freetype/Makefile b/libs/freetype/Makefile
index 53e523d52..1ff9d3dcb 100644
--- a/libs/freetype/Makefile
+++ b/libs/freetype/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=freetype
PKG_VERSION:=2.10.4
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@SF/freetype
@@ -20,12 +20,10 @@ PKG_LICENSE:=FTL GPL-2.0-only MIT ZLIB GPL-3.0-or-later
PKG_LICENSE_FILES:=docs/LICENSE.TXT docs/FTL.TXT docs/GPLv2.TXT src/bdf/README src/pcf/README src/gzip/zlib.h builds/unix/config.sub builds/unix/config.guess builds/unix/libtool
PKG_CPE_ID:=cpe:/a:freetype:freetype2
-CMAKE_INSTALL:=1
-PKG_BUILD_PARALLEL:=1
-CMAKE_BINARY_SUBDIR:=build
+PKG_BUILD_DEPENDS:=meson/host
include $(INCLUDE_DIR)/package.mk
-include $(INCLUDE_DIR)/cmake.mk
+include ../../devel/meson/meson.mk
define Package/libfreetype
SECTION:=libs
@@ -42,14 +40,22 @@ define Package/libfreetype/description
efficient and ubiquitous products.
endef
-CMAKE_OPTIONS += \
- -DBUILD_SHARED_LIBS=ON \
- -DCMAKE_DISABLE_FIND_PACKAGE_BZip2=ON \
- -DFT_WITH_ZLIB=ON \
- -DFT_WITH_BZIP2=OFF \
- -DFT_WITH_PNG=ON \
- -DFT_WITH_HARFBUZZ=OFF \
- -DFT_WITH_BROTLI=OFF
+MESON_ARGS += \
+ -Dzlib=system \
+ -Dbzip2=disabled \
+ -Dpng=enabled \
+ -Dharfbuzz=disabled \
+ -Dbrotli=disabled \
+ -Dmmap=enabled
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/include/freetype2
+ $(CP) $(PKG_INSTALL_DIR)/usr/include/freetype2/* $(1)/usr/include/freetype2/
+ $(INSTALL_DIR) $(1)/usr/lib
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libfreetype.{a,so}* $(1)/usr/lib/
+ $(INSTALL_DIR) $(1)/usr/lib/pkgconfig
+ $(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/freetype2.pc $(1)/usr/lib/pkgconfig/freetype2.pc
+endef
define Package/libfreetype/install
$(INSTALL_DIR) $(1)/usr/lib
diff --git a/libs/freetype/patches/010-meson.patch b/libs/freetype/patches/010-meson.patch
new file mode 100644
index 000000000..f86d629cc
--- /dev/null
+++ b/libs/freetype/patches/010-meson.patch
@@ -0,0 +1,37 @@
+From 40c5681ab92e7db1298273ccf3c816e6a1498260 Mon Sep 17 00:00:00 2001
+From: Werner Lemberg <wl@gnu.org>
+Date: Mon, 26 Oct 2020 18:09:56 +0100
+Subject: [PATCH] * meson.build: Fix 'harfbuzz' and 'brotli' build options
+ (#59347).
+
+Without this patch, 'harfbuzz' and 'brotli' are always required.
+
+Patch submitted anonymously in Savannah bug report.
+---
+ meson.build | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+--- a/meson.build
++++ b/meson.build
+@@ -267,13 +267,17 @@ ft2_deps += [libpng_dep]
+ harfbuzz_dep = dependency('harfbuzz',
+ version: '>= 1.8.0',
+ required: get_option('harfbuzz'))
+-ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']
+-ft2_deps += [harfbuzz_dep]
++if harfbuzz_dep.found()
++ ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_HARFBUZZ']
++ ft2_deps += [harfbuzz_dep]
++endif
+
+ # Brotli decompression support
+ brotli_dep = dependency('libbrotlidec', required: get_option('brotli'))
+-ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_BROTLI']
+-ft2_deps += [brotli_dep]
++if brotli_dep.found()
++ ftoption_command += ['--enable=FT_CONFIG_OPTION_USE_BROTLI']
++ ft2_deps += [brotli_dep]
++endif
+
+ # We can now generate `ftoption.h`.
+ ftoption_h = custom_target('ftoption.h',
diff --git a/libs/freetype/patches/020-distutils.patch b/libs/freetype/patches/020-distutils.patch
new file mode 100644
index 000000000..207e4fb02
--- /dev/null
+++ b/libs/freetype/patches/020-distutils.patch
@@ -0,0 +1,11 @@
+--- a/meson.build
++++ b/meson.build
+@@ -26,7 +26,7 @@ project('freetype2', 'c',
+ # running an external command is required.
+
+ python = import('python')
+-python_exe = python.find_installation(required: true)
++python_exe = 'python3'
+
+ ft2_version = run_command(python_exe,
+ files('builds/meson/extract_freetype_version.py'),