[Midnightbsd-cvs] mports [24642] trunk/print/freetype2: freetype 2.9.1

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Wed Nov 21 21:14:45 EST 2018


Revision: 24642
          http://svnweb.midnightbsd.org/mports/?rev=24642
Author:   laffer1
Date:     2018-11-21 21:14:44 -0500 (Wed, 21 Nov 2018)
Log Message:
-----------
freetype 2.9.1

Modified Paths:
--------------
    trunk/print/freetype2/Makefile
    trunk/print/freetype2/distinfo
    trunk/print/freetype2/files/patch-builds_unix_detect.mk
    trunk/print/freetype2/pkg-descr
    trunk/print/freetype2/pkg-plist

Added Paths:
-----------
    trunk/print/freetype2/files/extra-patch-fix_size_metrics.diff
    trunk/print/freetype2/files/pkg-message.in

Modified: trunk/print/freetype2/Makefile
===================================================================
--- trunk/print/freetype2/Makefile	2018-11-22 02:11:52 UTC (rev 24641)
+++ trunk/print/freetype2/Makefile	2018-11-22 02:14:44 UTC (rev 24642)
@@ -1,7 +1,7 @@
 # $MidnightBSD$
 
 PORTNAME=	freetype2
-PORTVERSION=	2.6.3
+PORTVERSION=	2.9.1
 CATEGORIES=	print
 MASTER_SITES=	http://savannah.nongnu.org/download/freetype/ \
 		SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \
@@ -14,7 +14,12 @@
 MAINTAINER=	ports at MidnightBSD.org
 COMMENT=	Free and portable TrueType font rendering engine
 
-LICENSE=	gpl2
+LICENSE=	FTL gpl2
+LICENSE_COMB=	dual
+LICENSE_NAME_FTL=	The FreeType Project license
+LICENSE_FILE_FTL=	${WRKSRC}/docs/FTL.TXT
+LICENSE_FILE_gpl2 =	${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=""
@@ -22,28 +27,102 @@
 GNU_CONFIGURE=	yes
 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
-LCD_FILTERING_DESC?=	Sub-pixel rendering (patented)
+OPTIONS_DEFINE=		CONFIG DEBUG DOCS LONG_PCF_NAMES PNG \
+		TABLE_VALIDATION
+OPTIONS_GROUP=		SUBPIXEL_HINTING
+OPTIONS_GROUP_SUBPIXEL_HINTING=	V38 V40
+OPTIONS_SINGLE=	RENDERING
+OPTIONS_SINGLE_RENDERING=	LCD_FILTERING LCD_RENDERING
+OPTIONS_RADIO=		SIZE_METRICS_CHOICE
+OPTIONS_RADIO_SIZE_METRICS_CHOICE=	FIX_SIZE_METRICS TT_SIZE_METRICS
+OPTIONS_DEFAULT=	CONFIG LCD_RENDERING V40
+OPTIONS_SUB=	yes
+
+CONFIG_DESC=	Install freetype-config
+CONFIG_CONFIGURE_ENABLE=freetype-config
 PNG_DESC=		Png compressed OpenType embedded bitmaps support
+PNG_LIB_DEPENDS=	libpng.so:graphics/png
+PNG_CONFIGURE_WITH=	png
 
+TABLE_VALIDATION_DESC=	TrueType GX/AAT and OpenType table validation
+
+SIZE_METRICS_CHOICE_DESC=	Size metrics for TrueType fonts
+FIX_SIZE_METRICS_DESC=	Fix metrics on size request for scalable fonts (alternative method)
+FIX_SIZE_METRICS_EXTRA_PATCHES=	${FILESDIR}/extra-patch-fix_size_metrics.diff
+TT_SIZE_METRICS_DESC=	TrueType-like size metrics for 'light' auto-hinting
+
+RENDERING_DESC=		Rendering technology
+LCD_FILTERING_DESC?=	Subpixel rendering (patented)
 LCD_FILTERING_CFLAGS=	-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING
+LCD_RENDERING_DESC=	Harmony LCD rendering
 
-PNG_LIB_DEPENDS=	libpng.so:${PORTSDIR}/graphics/png
-PNG_CONFIGURE_OFF=	--without-png
+LONG_PCF_NAMES_DESC=	Enable long PCF family names
 
+SUBPIXEL_HINTING_DESC=	Subpixel 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, faster)
+V40_VARS=	SUBPIXEL_HINTING_MODE+=2
+
+.include <bsd.port.pre.mk>
+
+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} -i '.hinting.bak' \
+		-e 's|^\(#define TT_CONFIG_OPTION_SUBPIXEL_HINTING\).*|\1 \
+	${SELECTED_MODE:sh}|' \
+		${WRKSRC}/include/freetype/config/ftoption.h
+.else
+	@${REINPLACE_CMD} -i '.hinting.bak' \
+		-e 's|^\(#define TT_CONFIG_OPTION_SUBPIXEL_HINTING.*\)|/* \1 */|' \
+		${WRKSRC}/include/freetype/config/ftoption.h
+.endif
+
+post-patch-DEBUG-on:
+	@${REINPLACE_CMD} -i '.debug.bak' \
+		-e 's|.*\(#define FT_DEBUG_LEVEL_TRACE\).*|\1|' \
+		-e 's|.*\(#define FT_DEBUG_MEMORY\).*|\1|' \
+		${WRKSRC}/include/freetype/config/ftoption.h
+
+post-patch-LONG_PCF_NAMES-on:
+	@${REINPLACE_CMD} -i '.names.bak' \
+		-e 's|.*\(#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES\).*|\1|' \
+		${WRKSRC}/include/freetype/config/ftoption.h
+
+post-patch-TABLE_VALIDATION-on:
+	@${REINPLACE_CMD} -e '/valid$$/s|#.*\(AUX_MODULES\)|\1|' \
+		${WRKSRC}/modules.cfg
+
+post-patch-TT_SIZE_METRICS-on:
+	@${REINPLACE_CMD} -i '.metrics.bak' \
+		-e 's|.*\(#define AF_CONFIG_OPTION_TT_SIZE_METRICS\).*|\1|' \
+		${WRKSRC}/include/freetype/config/ftoption.h
+
 post-configure:
 	@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} \
 		${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup)
 
 post-install:
-	@${STRIP_CMD} ${PREFIX}/lib/libfreetype.so.*
+	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libfreetype.so.*
+	(cd ${WRKSRC}/docs && ${COPYTREE_SHARE} "${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>

Modified: trunk/print/freetype2/distinfo
===================================================================
--- trunk/print/freetype2/distinfo	2018-11-22 02:11:52 UTC (rev 24641)
+++ trunk/print/freetype2/distinfo	2018-11-22 02:14:44 UTC (rev 24642)
@@ -1,2 +1,3 @@
-SHA256 (freetype-2.6.3.tar.bz2) = 371e707aa522acf5b15ce93f11183c725b8ed1ee8546d7b3af549863045863a2
-SIZE (freetype-2.6.3.tar.bz2) = 1753083
+TIMESTAMP = 1525210487
+SHA256 (freetype-2.9.1.tar.bz2) = db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d
+SIZE (freetype-2.9.1.tar.bz2) = 1926385

Added: trunk/print/freetype2/files/extra-patch-fix_size_metrics.diff
===================================================================
--- trunk/print/freetype2/files/extra-patch-fix_size_metrics.diff	                        (rev 0)
+++ trunk/print/freetype2/files/extra-patch-fix_size_metrics.diff	2018-11-22 02:14:44 UTC (rev 24642)
@@ -0,0 +1,46 @@
+# Fix metrics on size request for scalable fonts.
+# Based on b0962ac34e66052ccfee7996e5468f30d4bd5a72 commit with changes for new version.
+# Reverts bcc74f4dafee25ea89f1d3144646cba7e30f9908 commit for src/truetype/ttdriver.c file.
+# Adapts 8ab08cff63eeb23b6c9f2c4470ae9809f2acf244 commit for src/truetype/ttobjs.c file.
+
+--- src/truetype/ttdriver.c.orig	2017-04-29 04:38:17 UTC
++++ src/truetype/ttdriver.c
+@@ -357,6 +357,8 @@
+     if ( FT_IS_SCALABLE( size->face ) )
+     {
+       error = tt_size_reset( ttsize, 0 );
++      if ( !error )
++        ttsize->root.metrics = *ttsize->metrics;
+ 
+ #ifdef TT_USE_BYTECODE_INTERPRETER
+       /* for the `MPS' bytecode instruction we need the point size */
+--- src/truetype/ttobjs.c.orig	2017-05-07 11:05:56 UTC
++++ src/truetype/ttobjs.c
+@@ -1262,6 +1262,13 @@
+     /*                                                               */
+     if ( face->header.Flags & 8 )
+     {
++      if ( !only_height )
++      {
++        size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
++                                           face->root.units_per_EM );
++        size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
++                                           face->root.units_per_EM );
++      }
+       /* the TT spec always asks for ROUND, not FLOOR or CEIL */
+       size_metrics->ascender = FT_PIX_ROUND(
+                                  FT_MulFix( face->root.ascender,
+@@ -1283,11 +1290,12 @@
+     {
+       /* base scaling values on integer ppem values, */
+       /* as mandated by the TrueType specification   */
++/*
+       size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
+                                          face->root.units_per_EM );
+       size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
+                                          face->root.units_per_EM );
+-
++*/
+       size_metrics->max_advance = FT_PIX_ROUND(
+                                     FT_MulFix( face->root.max_advance_width,
+                                                size_metrics->x_scale ) );


Property changes on: trunk/print/freetype2/files/extra-patch-fix_size_metrics.diff
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/print/freetype2/files/patch-builds_unix_detect.mk
===================================================================
--- trunk/print/freetype2/files/patch-builds_unix_detect.mk	2018-11-22 02:11:52 UTC (rev 24641)
+++ trunk/print/freetype2/files/patch-builds_unix_detect.mk	2018-11-22 02:14:44 UTC (rev 24642)
@@ -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

Added: trunk/print/freetype2/files/pkg-message.in
===================================================================
--- trunk/print/freetype2/files/pkg-message.in	                        (rev 0)
+++ trunk/print/freetype2/files/pkg-message.in	2018-11-22 02:14:44 UTC (rev 24642)
@@ -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).
+
+The environment variable "FREETYPE_PROPERTIES" can be used to control the
+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).


Property changes on: trunk/print/freetype2/files/pkg-message.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Modified: trunk/print/freetype2/pkg-descr
===================================================================
--- trunk/print/freetype2/pkg-descr	2018-11-22 02:11:52 UTC (rev 24641)
+++ trunk/print/freetype2/pkg-descr	2018-11-22 02:14:44 UTC (rev 24642)
@@ -1,10 +1,10 @@
-This includes some tools that are in FreeType 1's contrib directory.
+FreeType is a freely available software library to render fonts.
 
-ttf2pfb: Converting TrueType fonts to the Postscript Type 1 format.
-ttf2pk:  A simple conversion tool to bring TrueType quality to the
-         TeX world.
-ttf2bdf: Produce bitmapped fonts from TrueType files for your X11
-         applications.
-ttfbanner: make posters using a TrueType font
+It 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.
 
-WWW: http://www.freetype.org/
+Some products that use FreeType for rendering fonts on screen or on paper,
+either exclusively or partially:
+
+WWW: https://www.freetype.org/

Modified: trunk/print/freetype2/pkg-plist
===================================================================
--- trunk/print/freetype2/pkg-plist	2018-11-22 02:11:52 UTC (rev 24641)
+++ trunk/print/freetype2/pkg-plist	2018-11-22 02:14:44 UTC (rev 24642)
@@ -1,18 +1,18 @@
-bin/freetype-config
+%%CONFIG%%bin/freetype-config
 include/freetype2/freetype/config/ftconfig.h
 include/freetype2/freetype/config/ftheader.h
 include/freetype2/freetype/config/ftmodule.h
 include/freetype2/freetype/config/ftoption.h
 include/freetype2/freetype/config/ftstdlib.h
+include/freetype2/freetype/ftdriver.h
+include/freetype2/freetype/ftparams.h
 include/freetype2/freetype/freetype.h
 include/freetype2/freetype/ftadvanc.h
-include/freetype2/freetype/ftautoh.h
 include/freetype2/freetype/ftbbox.h
 include/freetype2/freetype/ftbdf.h
 include/freetype2/freetype/ftbitmap.h
 include/freetype2/freetype/ftbzip2.h
 include/freetype2/freetype/ftcache.h
-include/freetype2/freetype/ftcffdrv.h
 include/freetype2/freetype/ftchapters.h
 include/freetype2/freetype/ftcid.h
 include/freetype2/freetype/fterrdef.h
@@ -41,7 +41,6 @@
 include/freetype2/freetype/ftsynth.h
 include/freetype2/freetype/ftsystem.h
 include/freetype2/freetype/fttrigon.h
-include/freetype2/freetype/ftttdrv.h
 include/freetype2/freetype/fttypes.h
 include/freetype2/freetype/ftwinfnt.h
 include/freetype2/freetype/t1tables.h
@@ -48,12 +47,11 @@
 include/freetype2/freetype/ttnameid.h
 include/freetype2/freetype/tttables.h
 include/freetype2/freetype/tttags.h
-include/freetype2/freetype/ttunpat.h
 include/freetype2/ft2build.h
 lib/libfreetype.a
 lib/libfreetype.so
 lib/libfreetype.so.6
-lib/libfreetype.so.6.12.3
+lib/libfreetype.so.6.16.1
 libdata/pkgconfig/freetype2.pc
-man/man1/freetype-config.1.gz
+%%CONFIG%%man/man1/freetype-config.1.gz
 share/aclocal/freetype2.m4



More information about the Midnightbsd-cvs mailing list