From 0762c72cc53c0e5504981f09d243e71674070fca Mon Sep 17 00:00:00 2001 From: "W. Michael Petullo" Date: Wed, 8 Jan 2020 20:46:46 -0500 Subject: [PATCH 1/2] libgd: provide a -full variant The php7-mod-gd package requires that freetype support exist in libgd, but this is not included in the default libgd build. In order to allow a working php7-mod-gd package while keeping the default libgd package as small as possible, this commit introduces a -full variant of the libgd package. Ref: https://github.com/openwrt/packages/issues/10944 Signed-off-by: W. Michael Petullo --- libs/libgd/Makefile | 38 ++++++++++++++++++++++++++++++++++++-- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/libs/libgd/Makefile b/libs/libgd/Makefile index 67c22105b..2b410c224 100644 --- a/libs/libgd/Makefile +++ b/libs/libgd/Makefile @@ -26,20 +26,41 @@ PKG_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk -define Package/libgd +define Package/libgd/default SECTION:=libs CATEGORY:=Libraries DEPENDS:=+libjpeg +libpng +libwebp +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype TITLE:=The GD graphics library URL:=https://libgd.github.io/ +endef + +define Package/libgd + $(call Package/libgd/default) MENU:=1 + DEPENDS+=+LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype + VARIANT:=default endef -define Package/libgd/description +define Package/libgd-full + $(call Package/libgd/default) + DEPENDS+=+libtiff +libfreetype + TITLE+=(full) + VARIANT:=full +endef + +define Package/libgd/description/default GD is an open source code library for the dynamic creation of images by programmers. GD creates PNG, JPEG and GIF images, among other formats. endef +Package/libgd/description=$(Package/libgd/description/default) + +define Package/libgd-full/description + $(call Package/libgd/description/default) + . + This variant of the libgd package is compiled will all features enabled. +endef + define Package/libgd/config if PACKAGE_libgd config LIBGD_TIFF @@ -69,6 +90,14 @@ CMAKE_OPTIONS += \ -DENABLE_XPM=OFF \ -DZLIB_INCLUDE_DIR="$(STAGING_DIR)/usr" +ifeq ($(BUILD_VARIANT),full) + CMAKE_OPTIONS += \ + -DENABLE_TIFF=ON \ + -DFREETYPE_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/freetype2/ \ + -DENABLE_FREETYPE=ON + +else + ifdef CONFIG_LIBGD_TIFF CMAKE_OPTIONS += \ -DENABLE_TIFF=ON @@ -86,9 +115,14 @@ else -DENABLE_FREETYPE=OFF endif +endif + define Package/libgd/install $(INSTALL_DIR) $(1)/usr/lib $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.so* $(1)/usr/lib/ endef +Package/libgd-full/install=$(Package/libgd/install) + $(eval $(call BuildPackage,libgd)) +$(eval $(call BuildPackage,libgd-full)) From fa0d982c77200910f5fe2061531580ca3f362b1a Mon Sep 17 00:00:00 2001 From: "W. Michael Petullo" Date: Wed, 8 Jan 2020 20:47:13 -0500 Subject: [PATCH 2/2] php7: update the gd module to depend on libgd-full The php7-mod-gd package requires that freetype support exist in libgd. The libgd-full package provides this, whereas the libgd package does only if explicitly configured. Ref: https://github.com/openwrt/packages/issues/10944 Signed-off-by: W. Michael Petullo Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 23f47c14e..64034def1 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.4.1 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Michael Heimpold PKG_LICENSE:=PHP-3.01 @@ -597,7 +597,7 @@ $(eval $(call BuildModule,exif,EXIF)) $(eval $(call BuildModule,fileinfo,Fileinfo)) $(eval $(call BuildModule,filter,Filter)) $(eval $(call BuildModule,ftp,FTP,+PACKAGE_php7-mod-ftp:libopenssl)) -$(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libgd)) +$(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libgd-full)) $(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php7-mod-gettext:libintl-full)) $(eval $(call BuildModule,gmp,GMP,+PACKAGE_php7-mod-gmp:libgmp)) $(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))