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 <mike@flyn.org>
This commit is contained in:
W. Michael Petullo 2020-01-08 20:46:46 -05:00
parent 518628c214
commit 0762c72cc5
1 changed files with 37 additions and 3 deletions

View File

@ -26,20 +26,41 @@ PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk include $(INCLUDE_DIR)/cmake.mk
define Package/libgd define Package/libgd/default
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=+libjpeg +libpng +libwebp +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype DEPENDS:=+libjpeg +libpng +libwebp +LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype
TITLE:=The GD graphics library TITLE:=The GD graphics library
URL:=https://libgd.github.io/ URL:=https://libgd.github.io/
MENU:=1
endef endef
define Package/libgd/description define Package/libgd
$(call Package/libgd/default)
MENU:=1
DEPENDS+=+LIBGD_TIFF:libtiff +LIBGD_FREETYPE:libfreetype
VARIANT:=default
endef
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 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. programmers. GD creates PNG, JPEG and GIF images, among other formats.
endef 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 define Package/libgd/config
if PACKAGE_libgd if PACKAGE_libgd
config LIBGD_TIFF config LIBGD_TIFF
@ -69,6 +90,14 @@ CMAKE_OPTIONS += \
-DENABLE_XPM=OFF \ -DENABLE_XPM=OFF \
-DZLIB_INCLUDE_DIR="$(STAGING_DIR)/usr" -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 ifdef CONFIG_LIBGD_TIFF
CMAKE_OPTIONS += \ CMAKE_OPTIONS += \
-DENABLE_TIFF=ON -DENABLE_TIFF=ON
@ -86,9 +115,14 @@ else
-DENABLE_FREETYPE=OFF -DENABLE_FREETYPE=OFF
endif endif
endif
define Package/libgd/install define Package/libgd/install
$(INSTALL_DIR) $(1)/usr/lib $(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.so* $(1)/usr/lib/ $(CP) $(PKG_INSTALL_DIR)/usr/lib/libgd.so* $(1)/usr/lib/
endef endef
Package/libgd-full/install=$(Package/libgd/install)
$(eval $(call BuildPackage,libgd)) $(eval $(call BuildPackage,libgd))
$(eval $(call BuildPackage,libgd-full))