--- freetype2.orig/Makefile 2016-04-01 14:17:44 UTC +++ freetype2/Makefile @@ -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.7 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_FTL= ${WRKSRC}/docs/FTL.TXT +LICENSE_FILE_GPLv2+ = ${WRKSRC}/docs/GPLv2.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,23 +29,65 @@ CONFIGURE_ARGS= --without-harfbuzz CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix +SUB_FILES= pkg-message + +PORTDOCS= reference CHANGES formats.txt LICENSE.TXT raster.txt + CPE_PRODUCT= freetype CPE_VENDOR= freetype -OPTIONS_DEFINE= LCD_FILTERING PNG -OPTIONS_DEFAULT= LCD_FILTERING +OPTIONS_DEFINE= DEBUG DOCS LCD_FILTERING PNG TABLE_VALIDATION +OPTIONS_GROUP= SUBPIXEL_HINTING +OPTIONS_GROUP_SUBPIXEL_HINTING= V38 V40 +OPTIONS_DEFAULT= LCD_FILTERING V40 + LCD_FILTERING_DESC?= Sub-pixel rendering (patented) PNG_DESC= Png compressed OpenType embedded bitmaps support - -LCD_FILTERING_CFLAGS= -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING - PNG_LIB_DEPENDS= libpng.so:graphics/png PNG_CONFIGURE_OFF= --without-png +TABLE_VALIDATION_DESC= TrueType GX/AAT and OpenType table validation + +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 + +.include + +SELECTED_MODE= r=0; for m in ${SUBPIXEL_HINTING_MODE};\ + do r=$$(($$r | $$m)); done; ${ECHO_CMD} $$r pre-patch: @${REINPLACE_CMD} -e 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \ ${WRKSRC}/builds/unix/install.mk +post-patch: +.if defined(SUBPIXEL_HINTING_MODE) + @${REINPLACE_CMD} -e \ + 's|^\(#define TT_CONFIG_OPTION_SUBPIXEL_HINTING\).*|\1 \ + ${SELECTED_MODE:sh}|' \ + ${WRKSRC}/include/freetype/config/ftoption.h +.else + @${REINPLACE_CMD} -e \ + 's|^\(#define TT_CONFIG_OPTION_SUBPIXEL_HINTING.*\)|/* \1 */|' \ + ${WRKSRC}/include/freetype/config/ftoption.h +.endif + +post-patch-DEBUG-on: + @${SED} -i '.d.bak' -e 's|.*\(#define FT_DEBUG_LEVEL_TRACE\).*|\1| ; \ + s|.*\(#define FT_DEBUG_MEMORY\).*|\1|' \ + ${WRKSRC}/include/freetype/config/ftoption.h + +post-patch-LCD_FILTERING-on: + @${SED} -i '.f.bak' -e \ + 's|.*\(#define FT_CONFIG_OPTION_SUBPIXEL_RENDERING\).*|\1|' \ + ${WRKSRC}/include/freetype/config/ftoption.h + +post-patch-TABLE_VALIDATION-on: + @${REINPLACE_CMD} -e '/valid$$/s|#.*\(AUX_MODULES\)|\1|' \ + ${WRKSRC}/modules.cfg + post-configure: @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \ ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup) @@ -46,4 +95,7 @@ post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libfreetype.so.* -.include +post-install-DOCS-on: + (cd ${WRKSRC}/docs && ${COPYTREE_SHARE} "${PORTDOCS}" ${STAGEDIR}${DOCSDIR}) + +.include --- freetype2.orig/distinfo 2016-03-03 10:12:38 UTC +++ freetype2/distinfo @@ -1,2 +1,3 @@ -SHA256 (freetype-2.6.3.tar.bz2) = 371e707aa522acf5b15ce93f11183c725b8ed1ee8546d7b3af549863045863a2 -SIZE (freetype-2.6.3.tar.bz2) = 1753083 +TIMESTAMP = 1473318397 +SHA256 (freetype-2.7.tar.bz2) = d6a451f5b754857d2aa3964fd4473f8bc5c64e879b24516d780fb26bec7f7d48 +SIZE (freetype-2.7.tar.bz2) = 1789896 --- freetype2.orig/files/patch-builds_unix_detect.mk 2015-12-10 22:13:58 UTC +++ freetype2/files/patch-builds_unix_detect.mk @@ -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 --- freetype2.orig/files/pkg-message.in 1970-01-01 00:00:00 UTC +++ freetype2/files/pkg-message.in @@ -0,0 +1,19 @@ +The 2.7.x series now uses the new subpixel hinting mode (V40 port's option) as +the default, emulating a modern version of ClearType. This change inevitably +leads to different rendering results, and you might change port's options to +adapt it to your taste (or use the new "FREETYPE_PROPERTIES" environment +variable). + +An environment variable "FREETYPE_PROPERTIES" can be used to control driver +properties. Example: + + FREETYPE_PROPERTIES=truetype:interpreter-version=35 \ + cff:no-stem-darkening=1 \ + autofitter:warping=1 + +This allows to select, say, the subpixel hinting mode at runtime for a given +application. + +The controllable properties are listed in the section "Controlling FreeType +Modules" in the reference's table of contents +(%%DOCSDIR%%/reference/ft2-toc.html, if documentation was installed). --- freetype2.orig/pkg-plist 2016-03-03 10:12:38 UTC +++ freetype2/pkg-plist @@ -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.6 libdata/pkgconfig/freetype2.pc man/man1/freetype-config.1.gz share/aclocal/freetype2.m4