diff --git a/media-libs/freetype/freetype-2.13.3.recipe b/media-libs/freetype/freetype-2.14.1.recipe similarity index 83% rename from media-libs/freetype/freetype-2.13.3.recipe rename to media-libs/freetype/freetype-2.14.1.recipe index 484874f52..2849c4d0f 100644 --- a/media-libs/freetype/freetype-2.13.3.recipe +++ b/media-libs/freetype/freetype-2.14.1.recipe @@ -5,18 +5,19 @@ output (glyph images) of most vector and bitmap font formats." HOMEPAGE="https://www.freetype.org/" COPYRIGHT="1996-2021 David Turner, Robert Wilhelm, and Werner Lemberg" LICENSE="FreeType" -REVISION="2" +REVISION="1" SOURCE_URI="https://download.savannah.gnu.org/releases/freetype/freetype-$portVersion.tar.xz" -CHECKSUM_SHA256="0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289" +CHECKSUM_SHA256="32427e8c471ac095853212a37aef816c60b42052d4d9e48230bab3bdf2936ccc" PATCHES=" enable-validation-modules.patchset + freetype-$portVersion.patchset " #PATCHES="freetype-subpixel.patchset" # enable patented subpixel rendering ARCHITECTURES="all" SECONDARY_ARCHITECTURES="x86_gcc2 x86" -libVersion="6.20.2" +libVersion="6.20.4" libVersionCompat="$libVersion compat >= ${libVersion%%.*}" PROVIDES=" @@ -29,11 +30,6 @@ REQUIRES=" lib:libpng16$secondaryArchSuffix lib:libz$secondaryArchSuffix " -if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then - REQUIRES="$REQUIRES - lib:libharfbuzz$secondaryArchSuffix - " -fi PROVIDES_devel=" freetype${secondaryArchSuffix}_devel = $portVersion @@ -45,11 +41,6 @@ REQUIRES_devel=" devel:libpng16$secondaryArchSuffix devel:libz$secondaryArchSuffix " -if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then - REQUIRES_devel="$REQUIRES_devel - devel:libharfbuzz$secondaryArchSuffix - " -fi BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel @@ -57,11 +48,6 @@ BUILD_REQUIRES=" devel:libpng16$secondaryArchSuffix devel:libz$secondaryArchSuffix " -if [ "$effectiveTargetArchitecture" != x86_gcc2 ]; then - BUILD_REQUIRES="$BUILD_REQUIRES - devel:libharfbuzz$secondaryArchSuffix - " -fi BUILD_PREREQUIRES=" cmd:gcc$secondaryArchSuffix cmd:ld$secondaryArchSuffix @@ -82,7 +68,8 @@ BUILD() --datadir $dataDir \ --includedir $includeDir \ --libdir $libDir \ - --default-library shared + -D error_strings=true \ + -D harfbuzz=dynamic meson compile -C build $jobArgs } diff --git a/media-libs/freetype/freetype_bootstrap-2.13.3.recipe b/media-libs/freetype/freetype_bootstrap-2.13.3.recipe deleted file mode 100644 index 7b8bb6bf8..000000000 --- a/media-libs/freetype/freetype_bootstrap-2.13.3.recipe +++ /dev/null @@ -1,88 +0,0 @@ -SUMMARY="A free, high-quality, and portable font engine" -DESCRIPTION="FreeType is written in C, designed to be small, efficient, \ -highly customizable, and portable while capable of producing high-quality \ -output (glyph images) of most vector and bitmap font formats." -HOMEPAGE="https://www.freetype.org/" -COPYRIGHT="1996-2021 David Turner, Robert Wilhelm, Werner Lemberg, et al." -LICENSE="FreeType" -REVISION="2" -SOURCE_URI="https://download.savannah.gnu.org/releases/freetype/freetype-$portVersion.tar.xz" -CHECKSUM_SHA256="0550350666d427c74daeb85d5ac7bb353acba5f76956395995311a9c6f063289" -SOURCE_DIR="freetype-$portVersion" -PATCHES=" - enable-validation-modules.patchset - " -#PATCHES="freetype-subpixel.patchset" # enable patented subpixel rendering - -# no need to enable this for gcc2 because it is only needed for harfbuzz -# which isn't compatible with that. -ARCHITECTURES="all !x86_gcc2" -SECONDARY_ARCHITECTURES="x86" - -# This intentionally doesn't provide devel:libfreetype because this package -# only exists to break a circular dependency with harfbuzz. -# Policy warnings from haikuporter are expected for that! -PROVIDES=" - freetype_bootstrap$secondaryArchSuffix = $portVersion - " -REQUIRES=" - haiku$secondaryArchSuffix - lib:libbz2$secondaryArchSuffix - lib:libpng16$secondaryArchSuffix - lib:libz$secondaryArchSuffix - devel:libbz2$secondaryArchSuffix - devel:libpng16$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -CONFLICTS=" - freetype${secondaryArchSuffix}_devel - " - -BUILD_REQUIRES=" - haiku${secondaryArchSuffix}_devel - devel:libbz2$secondaryArchSuffix - devel:libpng16$secondaryArchSuffix - devel:libz$secondaryArchSuffix - " -BUILD_PREREQUIRES=" - cmd:gcc$secondaryArchSuffix - cmd:ld$secondaryArchSuffix - cmd:meson - cmd:pkg_config$secondaryArchSuffix - cmd:python3 - " - -BUILD() -{ - unset meson - meson setup build . --buildtype release \ - --prefix $prefix \ - --bindir $binDir \ - --datadir $dataDir \ - --includedir $includeDir \ - --libdir $libDir \ - --default-library shared - meson compile -C build $jobArgs -} - -INSTALL() -{ - unset meson - meson install -C build - - install -Dt $dataRootDir/aclocal -m644 builds/unix/freetype2.m4 - - prepareInstalledDevelLibs libfreetype - fixPkgconfig - - # The libtool files reference other libraries using the wrong paths, which - # creates a lot of confusion. Fix them so correct paths are used. - local packageName="${portName}-$portFullVersion" - local packageLinksDir=$(dirname $portPackageLinksDir) - local linksDir="$packageLinksDir/${packageName}/devel~libpng16$secondaryArchSuffix/$relativeDevelopLibDir" - sed -i -e "s,^\(Libs.private.*\)-L.* \(-l.*\)$,\1-L$linksDir \2," \ - $developLibDir/pkgconfig/freetype2.pc - - mv $libDir/* $developLibDir/ - rmdir $libDir -} diff --git a/media-libs/freetype/patches/freetype-2.14.1.patchset b/media-libs/freetype/patches/freetype-2.14.1.patchset new file mode 100644 index 000000000..0029ad399 --- /dev/null +++ b/media-libs/freetype/patches/freetype-2.14.1.patchset @@ -0,0 +1,22 @@ +From 02e104c644cc5f2e24621abd146711cf2c699348 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Duval?= +Date: Thu, 29 Jan 2026 18:23:43 +0100 +Subject: Haiku: libdl not needed. + + +diff --git a/meson.build b/meson.build +index 09382fb..34a20e1 100644 +--- a/meson.build ++++ b/meson.build +@@ -367,7 +367,7 @@ endif + if not harfbuzz_dep.found() and \ + (harfbuzz_opt == 'dynamic' or harfbuzz_opt == 'auto') + # On Windows we don't need libdl, but on other platforms we need it. +- if host_machine.system() == 'windows' ++ if host_machine.system() == 'windows' or host_machine.system() == 'haiku' + harfbuzz_opt = 'dynamic' + ftoption_command += [ + '--enable=FT_CONFIG_OPTION_USE_HARFBUZZ', +-- +2.51.0 +