Skip to contentSkip to conversation

ghostscript: not compiled to use freetype lib

PATCH New Thomas Ehrhardt 3 participants 3 messages Jul 25, 2018 – Jul 26, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ghostscript: not compiled to use freetype lib

With this patch ghostscript 9.23 use the freetype lib.

package/ghostscript/ghostscript.mk +8 -1
@@ -10,6 +10,7 @@
 GHOSTSCRIPT_LICENSE = AGPL-3.0
 GHOSTSCRIPT_LICENSE_FILES = LICENSE
 # 0001-Fix-cross-compilation-issue.patch
+# 0002-Fix-shared-lib-freetype.patch
 GHOSTSCRIPT_AUTORECONF = YES
 GHOSTSCRIPT_DEPENDENCIES = \
        host-lcms2 \
@@ -32,9 +33,15 @@
 endef
 GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS
 
+ifeq ($(BR2_PACKAGE_FREETYPE),y)
+GHOSTSCRIPT_DEPENDENCIES += host-freetype
+HOST_CXXFLAGS += -I$(HOST_DIR)/usr/include/freetype2
+endif
+
 GHOSTSCRIPT_CONF_ENV = \
        CCAUX="$(HOSTCC)" \
-       CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)"
+        CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)" \
+        CXXFLAGS="$(HOST_CXXFLAGS)"
 
 GHOSTSCRIPT_CONF_OPTS = \
        --disable-compile-inits \

---
file package/ghostscript/0002-Fix-shared-lib-freetype.patch

configure.ac +0 -3
@@ -967,21 +967,12 @@
 
     if test x"$FTSRCDIR" = x"src"; then
       AC_MSG_RESULT([no])
-      if test "x$PKGCONFIG" != x; then
-        AC_MSG_CHECKING(for system freetype2 >= 2.4.2 with pkg-config)
-            # pkg-config needs the libtool version, which != the freetype2

version <sigh!>
- # There is a table of corresponding ft2<->libtool numbers in
freetype/docs/VERSION.DLL
- if $PKGCONFIG --atleast-version=12.0.6 freetype2; then

-                AC_MSG_RESULT(yes)
-                FT_CFLAGS="$CFLAGS `$PKGCONFIG --cflags freetype2`"
-                FT_LIBS="`$PKGCONFIG --libs freetype2`"
-                FT_BRIDGE=1
-                SHARE_FT=1

- else
- AC_MSG_RESULT(no)
- AC_MSG_WARN([freetype library source not found...using
native rasterizer])
- AFS=1
- fi
+ if test "x$BUILD_PKGCONFIG" != x; then

+       AC_MSG_RESULT(yes)
+       FT_CFLAGS="$CFLAGS `$BUILD_PKGCONFIG --cflags freetype2`"
+       FT_LIBS="`$BUILD_PKGCONFIG --libs freetype2`"
+       FT_BRIDGE=1
+       SHARE_FT=1
       else
         AC_CHECK_HEADER([ft2build.h], [FT_BRIDGE=1], [AFS=1])

--
Sent from: http://buildroot-busybox.2317881.n4.nabble.com/

#1 lore raw

PATCH 1/1 ghostscript: not compiled to use freetype lib

Hello,

Thanks for your contribution!

Quoted 1 line · Thomas Ehrhardt

With this patch ghostscript 9.23 use the freetype lib.

Your patch (and the previous one) lacks a Signed-off-by.

package/ghostscript/ghostscript.mk line 37

Quoted 2 lines
package/ghostscript/ghostscript.mk +2 -0
+ifeq ($(BR2_PACKAGE_FREETYPE),y)
+GHOSTSCRIPT_DEPENDENCIES += host-freetype

This is most likely incorrect. BR2_PACKAGE_FREETYPE indicates that the target freetype is available, it has nothing to do with whether host-freetype should be used or not.

Quoted 1 line

+HOST_CXXFLAGS += -I$(HOST_DIR)/usr/include/freetype2

This line is incorrect, because it changes the CXXFLAGS globally, for all packages.

Quoted 1 line

file package/ghostscript/0002-Fix-shared-lib-freetype.patch

Weird how this is formatted. In any case, all patches should have a description and Signed-off-by line.

Could you explain what you are trying to achieve ?

Quoted 1 line

Sent from: http://buildroot-busybox.2317881.n4.nabble.com/

Please send your e-mails to the mailing list directly. If you don't want to subscribe because of the traffic, then please subscribe and disable mail delivery in the Mailman preferences. This will allow you to send e-mails to the list, but you won't receive all the mailing list traffic.

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
#2 lore raw

PATCH 1/1 ghostscript: not compiled to use freetype lib

Hi Thomas,

the ghostscript isn't compiled against the freetype lib although it is switched on. Ghostscript doesn't support cross compiling and the old freetype sources within ghostscript are deleted. So the headers of the freetype package must be included, and the ghostscript configure is changed to use the host pkgconfig.

Thomas

---
diff -Nu a/package/ghostscript/0002-Fix-shared-lib-freetype.patch b/package/ghostscript/0002-Fix-shared-lib-freetype.patch

package/ghostscript/0002-Fix-shared-lib-freetype.patch +9 -0
@@ -0,0 +1,30 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -967,21 +967,12 @@
+
+     if test x"$FTSRCDIR" = x"src"; then
+       AC_MSG_RESULT([no])
+-      if test "x$PKGCONFIG" != x; then
+-        AC_MSG_CHECKING(for system freetype2 >= 2.4.2 with pkg-config)
+-            # pkg-config needs the libtool version, which != the freetype2

version <sigh!>
+- # There is a table of corresponding ft2<->libtool numbers in
freetype/docs/VERSION.DLL

+-            if $PKGCONFIG --atleast-version=12.0.6 freetype2; then
+-                AC_MSG_RESULT(yes)
+-                FT_CFLAGS="$CFLAGS `$PKGCONFIG --cflags freetype2`"
+-                FT_LIBS="`$PKGCONFIG --libs freetype2`"
+-                FT_BRIDGE=1
+-                SHARE_FT=1
+-            else
+-                AC_MSG_RESULT(no)
+-                AC_MSG_WARN([freetype library source not found...using
native rasterizer])
+-                AFS=1
+-            fi
++      if test "x$BUILD_PKGCONFIG" != x; then
++       AC_MSG_RESULT(yes)
++      FT_CFLAGS="$CFLAGS `$BUILD_PKGCONFIG --cflags freetype2`"
++      FT_LIBS="`$BUILD_PKGCONFIG --libs freetype2`"
++      FT_BRIDGE=1
++      SHARE_FT=1
+       else
+         AC_CHECK_HEADER([ft2build.h], [FT_BRIDGE=1], [AFS=1])

+
diff -Nu a/package/ghostscript/ghostscript.mk
b/package/ghostscript/ghostscript.mk

package/ghostscript/ghostscript.mk +10 -1
@@ -10,6 +10,7 @@
 GHOSTSCRIPT_LICENSE = AGPL-3.0
 GHOSTSCRIPT_LICENSE_FILES = LICENSE
 # 0001-Fix-cross-compilation-issue.patch
+# 0002-Fix-shared-lib-freetype.patch
 GHOSTSCRIPT_AUTORECONF = YES
 GHOSTSCRIPT_DEPENDENCIES = \
        host-lcms2 \
@@ -32,9 +33,17 @@
 endef
 GHOSTSCRIPT_POST_PATCH_HOOKS += GHOSTSCRIPT_REMOVE_LIBS
 
+GHOSTSCRIPT_CXXFLAGS = $(HOST_CXXFLAGS)
+
+ifeq ($(BR2_PACKAGE_FREETYPE),y)
+GHOSTSCRIPT_DEPENDENCIES += freetype
+GHOSTSCRIPT_CXXFLAGS += -I$(HOST_DIR)/usr/include/freetype2
+endif
+
 GHOSTSCRIPT_CONF_ENV = \
        CCAUX="$(HOSTCC)" \
-       CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)"
+       CFLAGSAUX="$(HOST_CFLAGS) $(HOST_LDFLAGS)" \
+       CXXFLAGS="$(GHOSTSCRIPT_CXXFLAGS)"
 
 GHOSTSCRIPT_CONF_OPTS = \
        --disable-compile-inits \

--

--
Sent from: http://buildroot-busybox.2317881.n4.nabble.com/