diff -ruN freetype2.orig/Makefile freetype2/Makefile --- freetype2.orig/Makefile 2016-04-01 18:17:44.000000000 +0400 +++ freetype2/Makefile 2016-07-23 18:32:11.041973000 +0400 @@ -2,7 +2,7 @@ # $FreeBSD: head/print/freetype2/Makefile 412348 2016-04-01 14:17:44Z mat $ PORTNAME= freetype2 -PORTVERSION= 2.6.3 +PORTVERSION= 2.6.5 CATEGORIES= print MASTER_SITES= http://savannah.nongnu.org/download/freetype/ \ SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \ @@ -15,6 +15,13 @@ MAINTAINER= gnome@FreeBSD.org COMMENT= Free and portable TrueType font rendering engine +LICENSE= FTL GPLv2+ +LICENSE_COMB= dual +LICENSE_NAME_FTL= The FreeType Project license +LICENSE_FILE_GPLv2+ = ${WRKSRC}/docs/GPLv2.TXT +LICENSE_FILE_FTL= ${WRKSRC}/docs/FTL.TXT +LICENSE_PERMS_FTL= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept + USES= cpe gmake libtool tar:bzip2 MAKE_ENV= TOP="" USE_LDCONFIG= yes @@ -22,19 +29,40 @@ CONFIGURE_ARGS= --without-harfbuzz CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix +PORTDOCS= reference CHANGES formats.txt LICENSE.TXT raster.txt + CPE_PRODUCT= freetype CPE_VENDOR= freetype -OPTIONS_DEFINE= LCD_FILTERING PNG +OPTIONS_DEFINE= DOCS LCD_FILTERING PNG +OPTIONS_GROUP= SUBPIXEL_HINTING +OPTIONS_GROUP_SUBPIXEL_HINTING= V38 V40 CONFIGURABLE OPTIONS_DEFAULT= LCD_FILTERING -LCD_FILTERING_DESC?= Sub-pixel rendering (patented) -PNG_DESC= Png compressed OpenType embedded bitmaps support +LCD_FILTERING_DESC?= Sub-pixel rendering (patented) LCD_FILTERING_CFLAGS= -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING - +PNG_DESC= Png compressed OpenType embedded bitmaps support PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CONFIGURE_OFF= --without-png +SUBPIXEL_HINTING_DESC= Sub-pixel hinting support +V38_DESC= v38 mode (Infinality code) +V38_VARS= SUBPIXEL_HINTING_MODE=1 +V40_DESC= v40 mode (minimal code, a.k.a. ClearType hinting) +V40_VARS= SUBPIXEL_HINTING_MODE=2 +CONFIGURABLE_DESC= Make sub-pixel hinting mode configurable +CONFIGURABLE_EXTRA_PATCHES= ${PATCHDIR}/extra-patch-src_truetype_ttobjs.c +CONFIGURABLE_SUB_FILES= pkg-message + +.include + +.if defined(SUBPIXEL_HINTING_MODE) +.if ${PORT_OPTIONS:MV38} && ${PORT_OPTIONS:MV40} +SUBPIXEL_HINTING_MODE=3 +.endif +CFLAGS+= -DTT_CONFIG_OPTION_SUBPIXEL_HINTING=${SUBPIXEL_HINTING_MODE} +.endif + pre-patch: @${REINPLACE_CMD} -e 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \ ${WRKSRC}/builds/unix/install.mk @@ -46,4 +74,7 @@ post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libfreetype.so.* +post-install-DOCS-on: + (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) + .include diff -ruN freetype2.orig/distinfo freetype2/distinfo --- freetype2.orig/distinfo 2016-03-03 14:12:38.000000000 +0400 +++ freetype2/distinfo 2016-07-19 14:47:22.631788000 +0400 @@ -1,2 +1,3 @@ -SHA256 (freetype-2.6.3.tar.bz2) = 371e707aa522acf5b15ce93f11183c725b8ed1ee8546d7b3af549863045863a2 -SIZE (freetype-2.6.3.tar.bz2) = 1753083 +TIMESTAMP = 1468301305 +SHA256 (freetype-2.6.5.tar.bz2) = e20a6e1400798fd5e3d831dd821b61c35b1f9a6465d6b18a53a9df4cf441acf0 +SIZE (freetype-2.6.5.tar.bz2) = 1779603 diff -ruN freetype2.orig/files/extra-patch-src_truetype_ttobjs.c freetype2/files/extra-patch-src_truetype_ttobjs.c --- freetype2.orig/files/extra-patch-src_truetype_ttobjs.c 1970-01-01 03:00:00.000000000 +0300 +++ freetype2/files/extra-patch-src_truetype_ttobjs.c 2016-07-23 18:16:58.790490000 +0400 @@ -0,0 +1,64 @@ +# Origin: https://git.archlinux.org/svntogit/packages.git/tree/trunk/0003-Make-subpixel-hinting-mode-configurable.patch?h=packages/freetype2&id=a86f6a5423659061598b079599970aeb0e13b9a8 +# Subject: [PATCH 3/4] Make subpixel hinting mode configurable +# except changes for include/freetype/config/ftoption.h file. + +--- src/truetype/ttobjs.c.orig 2016-05-17 18:11:44 UTC ++++ src/truetype/ttobjs.c +@@ -36,6 +36,9 @@ + #include "ttgxvar.h" + #endif + ++#include ++#include ++ + /*************************************************************************/ + /* */ + /* The macro FT_COMPONENT is used in trace mode. It is an implicit */ +@@ -1286,6 +1289,7 @@ + #ifdef TT_USE_BYTECODE_INTERPRETER + + TT_Driver driver = (TT_Driver)ttdriver; ++ const char *envval; + + driver->interpreter_version = TT_INTERPRETER_VERSION_35; + #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY +@@ -1295,6 +1299,39 @@ + driver->interpreter_version = TT_INTERPRETER_VERSION_40; + #endif + ++ errno = 0; ++ envval = getenv( "FT2_SUBPIXEL_HINTING" ); ++ if ( envval ) ++ { ++ char *endptr = NULL; ++ unsigned long value = strtoul( envval, &endptr, 10 ); ++ ++ if ( !errno && endptr && !*endptr ) ++ { ++ switch( value ) ++ { ++ case 0: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_35; ++ break; ++ ++#ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY ++ case 1: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_38; ++ break; ++#endif ++ ++#ifdef TT_SUPPORT_SUBPIXEL_HINTING_MINIMAL ++ case 2: ++ driver->interpreter_version = TT_INTERPRETER_VERSION_40; ++ break; ++#endif ++ ++ default: ++ break; ++ } ++ } ++ } ++ + #else /* !TT_USE_BYTECODE_INTERPRETER */ + + FT_UNUSED( ttdriver ); diff -ruN freetype2.orig/files/patch-builds_unix_detect.mk freetype2/files/patch-builds_unix_detect.mk --- freetype2.orig/files/patch-builds_unix_detect.mk 2015-12-11 02:13:58.000000000 +0400 +++ freetype2/files/patch-builds_unix_detect.mk 2016-07-23 18:09:15.399627000 +0400 @@ -1,6 +1,6 @@ ---- builds/unix/detect.mk.orig 2015-09-25 07:58:57.000000000 +0200 -+++ builds/unix/detect.mk 2015-10-04 12:35:05.733855000 +0200 -@@ -22,6 +22,9 @@ +--- builds/unix/detect.mk.orig 2016-02-03 18:13:58 UTC ++++ builds/unix/detect.mk +@@ -22,6 +22,9 @@ ifeq ($(PLATFORM),ansi) $(wildcard /usr/sbin/init) \ $(wildcard /dev/null) \ $(wildcard /hurd/auth)) @@ -10,7 +10,7 @@ ifneq ($(is_unix),) PLATFORM := unix -@@ -80,10 +83,10 @@ +@@ -80,10 +83,10 @@ ifeq ($(PLATFORM),unix) ifdef must_configure ifneq ($(have_Makefile),) # we are building FT2 not in the src tree diff -ruN freetype2.orig/files/pkg-message.in freetype2/files/pkg-message.in --- freetype2.orig/files/pkg-message.in 1970-01-01 03:00:00.000000000 +0300 +++ freetype2/files/pkg-message.in 2016-07-23 18:35:45.213157000 +0400 @@ -0,0 +1,7 @@ +Subpixel rendering effectively triples the horizontal (or vertical) resolution +for fonts by making use of subpixels. The default autohinter and subpixel +rendering are not designed to work together, hence you will want to enable the +subpixel autohinter. +The freetype2 package is compiled with a patch to make the subpixel hinting mode +configurable by the FT2_SUBPIXEL_HINTING environment variable. Possible values +are 0 (disabled), 1 (Infinality) and 2 (minimal). diff -ruN freetype2.orig/pkg-plist freetype2/pkg-plist --- freetype2.orig/pkg-plist 2016-03-03 14:12:38.000000000 +0400 +++ freetype2/pkg-plist 2016-07-19 14:57:41.426104000 +0400 @@ -53,7 +53,7 @@ lib/libfreetype.a lib/libfreetype.so lib/libfreetype.so.6 -lib/libfreetype.so.6.12.3 +lib/libfreetype.so.6.12.5 libdata/pkgconfig/freetype2.pc man/man1/freetype-config.1.gz share/aclocal/freetype2.m4