Browse Source

Merge pull request #11683 from neheb/gdd

libgd: update to 2.30
lilik-openwrt-22.03
Rosen Penev 5 years ago
committed by GitHub
parent
commit
c9783efee8
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 11 additions and 201 deletions
  1. +5
    -12
      libs/libgd/Makefile
  2. +5
    -3
      libs/libgd/patches/100-no-cxx.patch
  3. +0
    -135
      libs/libgd/patches/200-cmake-add-soname-info-to-libgd.so.patch
  4. +0
    -39
      libs/libgd/patches/210-generate-install-gdlib.pc-for-cmake-builds-too-164.patch
  5. +1
    -1
      libs/libgd/patches/220-exclude_host_headers.patch
  6. +0
    -11
      libs/libgd/patches/300-gdlib.pc-cmake.patch

+ 5
- 12
libs/libgd/Makefile View File

@ -8,17 +8,17 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=libgd PKG_NAME:=libgd
PKG_VERSION:=2.2.5
PKG_RELEASE:=6
PKG_VERSION:=2.3.0
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/ PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/
PKG_HASH:=8c302ccbf467faec732f0741a859eef4ecae22fea2d2ab87467be940842bde51
PKG_HASH:=ecd9155b9a417fb3f837f29e5966323796de247789163761dd72dbf83bfcac58
PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io> PKG_MAINTAINER:=Jo-Philipp Wich <jo@mein.io>
PKG_LICENSE:=MIT PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=COPYING PKG_LICENSE_FILES:=COPYING
PKG_CPE_ID:=cpe:/a:libgd:gd_graphics_library
PKG_CPE_ID:=cpe:/a:libgd:libgd
CMAKE_INSTALL:=1 CMAKE_INSTALL:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -86,6 +86,7 @@ CMAKE_OPTIONS += \
-DENABLE_JPEG=ON \ -DENABLE_JPEG=ON \
-DENABLE_LIQ=OFF \ -DENABLE_LIQ=OFF \
-DENABLE_PNG=ON \ -DENABLE_PNG=ON \
-DENABLE_TIFF=$(if $(CONFIG_LIBGD_TIFF),ON,OFF) \
-DENABLE_WEBP=ON \ -DENABLE_WEBP=ON \
-DENABLE_XPM=OFF \ -DENABLE_XPM=OFF \
-DZLIB_INCLUDE_DIR="$(STAGING_DIR)/usr" -DZLIB_INCLUDE_DIR="$(STAGING_DIR)/usr"
@ -98,14 +99,6 @@ ifeq ($(BUILD_VARIANT),full)
else else
ifdef CONFIG_LIBGD_TIFF
CMAKE_OPTIONS += \
-DENABLE_TIFF=ON
else
CMAKE_OPTIONS += \
-DENABLE_TIFF=OFF
endif
ifdef CONFIG_LIBGD_FREETYPE ifdef CONFIG_LIBGD_FREETYPE
CMAKE_OPTIONS += \ CMAKE_OPTIONS += \
-DFREETYPE_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/freetype2/ \ -DFREETYPE_INCLUDE_DIRS=$(STAGING_DIR)/usr/include/freetype2/ \


+ 5
- 3
libs/libgd/patches/100-no-cxx.patch View File

@ -1,6 +1,6 @@
--- a/src/CMakeLists.txt --- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt +++ b/src/CMakeLists.txt
@@ -23,8 +23,6 @@ SET (LIBGD_SRC_FILES
@@ -22,8 +22,6 @@ SET (LIBGD_SRC_FILES
gd_io_dp.c gd_io_dp.c
gd_io_file.c gd_io_file.c
gd_io_ss.c gd_io_ss.c
@ -9,7 +9,7 @@
gd_jpeg.c gd_jpeg.c
gd_matrix.c gd_matrix.c
gd_nnquant.c gd_nnquant.c
@@ -60,8 +58,6 @@ SET (LIBGD_SRC_FILES
@@ -59,8 +57,6 @@ SET (LIBGD_SRC_FILES
gdhelpers.c gdhelpers.c
gdhelpers.h gdhelpers.h
gdkanji.c gdkanji.c
@ -18,9 +18,11 @@
gdtables.c gdtables.c
gdxpm.c gdxpm.c
jisx0208.h jisx0208.h
@@ -175,5 +171,4 @@ install(FILES
@@ -198,7 +194,6 @@ install(FILES
gdfonts.h gdfonts.h
gdfontt.h gdfontt.h
gdfx.h gdfx.h
- gdpp.h - gdpp.h
DESTINATION include) DESTINATION include)
CONFIGURE_FILE(../config/gdlib.pc.cmake gdlib.pc @ONLY)

+ 0
- 135
libs/libgd/patches/200-cmake-add-soname-info-to-libgd.so.patch View File

@ -1,135 +0,0 @@
From 5ebbd50cffc013a7dd0f3b1eaaa83d199e8e47fd Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Sun, 24 Jul 2016 00:14:20 +0530
Subject: [PATCH] cmake: add soname info to libgd.so
Pull out the library versioning info out of configure and into a common
script that both cmake & autotools can run. This way we have a single
source of truth for the versioning info.
---
CMakeLists.txt | 11 +++++++++++
config/getlib.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
configure.ac | 25 +++++++++++--------------
src/CMakeLists.txt | 2 ++
4 files changed, 66 insertions(+), 14 deletions(-)
create mode 100755 config/getlib.sh
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c8ad34b..9fe2eb4e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -78,6 +78,17 @@ else (USE_EXT_GD)
SET(GD_VERSION_INT "2020555")
+ MACRO(GV_LT VER VAR)
+ execute_process(
+ COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/config/getlib.sh ${VER}
+ OUTPUT_VARIABLE ${VAR}
+ )
+ ENDMACRO(GV_LT)
+
+ GV_LT(SONAME GDLIB_LIB_SOVERSION)
+ GV_LT(VERSION GDLIB_LIB_VERSION)
+ MESSAGE(STATUS "gd shared lib version ${GDLIB_LIB_SOVERSION} (${GDLIB_LIB_VERSION})")
+
SET(CMAKE_REQUIRED_INCLUDES "/usr/include" "/usr/local/include")
include(CheckIncludeFiles)
diff --git a/config/getlib.sh b/config/getlib.sh
new file mode 100755
index 00000000..4835cf6c
--- /dev/null
+++ b/config/getlib.sh
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+GETVER="${0%/*}/getver.pl"
+GDLIB_MAJOR=$("${GETVER}" MAJOR)
+GDLIB_MINOR=$("${GETVER}" MINOR)
+GDLIB_REVISION=$("${GETVER}" RELEASE)
+
+# Dynamic library version information
+# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
+
+GDLIB_LT_CURRENT=3
+# This is the version where the soname (current above) changes. We use it
+# to reset the revision base back to zero. It's a bit of a pain, but some
+# systems restrict the revision range below to [0..255] (like OS X).
+GDLIB_PREV_MAJOR=2
+GDLIB_PREV_MINOR=2
+# This isn't 100% correct, but it tends to be a close enough approximation
+# for how we manage the codebase. It's rare to do a release that doesn't
+# modify the library since this project is centered around the library.
+GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
+GDLIB_LT_AGE=0
+
+# The first three fields we feed into libtool and the OS target determines how
+# they get used. The last two fields we feed into cmake. We use the same rules
+# as Linux SONAME versioning in libtool, but cmake should handle it for us.
+case $1 in
+CURRENT)
+ printf '%s' "${GDLIB_LT_CURRENT}"
+ ;;
+REVISION)
+ printf '%s' "${GDLIB_LT_REVISION}"
+ ;;
+AGE)
+ printf '%s' "${GDLIB_LT_AGE}"
+ ;;
+VERSION)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE )).${GDLIB_LT_AGE}.${GDLIB_LT_REVISION}"
+ ;;
+SONAME)
+ printf '%s' "$(( GDLIB_LT_CURRENT - GDLIB_LT_AGE ))"
+ ;;
+esac
diff --git a/configure.ac b/configure.ac
index 91643bd6..c3fb034e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -34,20 +34,17 @@ AC_SUBST(GDLIB_REVISION)
AC_SUBST(GDLIB_EXTRA)
AC_SUBST(GDLIB_VERSION)
-# Dynamic library version information
-# See http://www.gnu.org/software/libtool/manual/libtool.html#Updating-version-info
-
-GDLIB_LT_CURRENT=3
-dnl This is the version where the soname (current above) changes. We use it
-dnl to reset the revision base back to zero. It's a bit of a pain, but some
-dnl systems restrict the revision range below to [0..255] (like OS X).
-GDLIB_PREV_MAJOR=2
-GDLIB_PREV_MINOR=2
-dnl This isn't 100% correct, but it tends to be a close enough approximation
-dnl for how we manage the codebase. It's rare to do a release that doesn't
-dnl modify the library since this project is centered around the library.
-GDLIB_LT_REVISION=$(( ((GDLIB_MAJOR - GDLIB_PREV_MAJOR) << 6) | ((GDLIB_MINOR - GDLIB_PREV_MINOR) << 3) | GDLIB_REVISION ))
-GDLIB_LT_AGE=0
+dnl Keep the libtool version details in an external script so cmake can
+dnl access the values too.
+define([lt_gv], [config/getlib.sh ]$1)
+m4_define([gd_LT_CURRENT], esyscmd(lt_gv(CURRENT)))
+m4_define([gd_LT_REVISION], esyscmd(lt_gv(REVISION)))
+m4_define([gd_LT_AGE], esyscmd(lt_gv(AGE)))
+
+GDLIB_LT_CURRENT=gd_LT_CURRENT
+GDLIB_LT_REVISION=gd_LT_REVISION
+GDLIB_LT_AGE=gd_LT_AGE
+
AC_SUBST(GDLIB_LT_CURRENT)
AC_SUBST(GDLIB_LT_REVISION)
AC_SUBST(GDLIB_LT_AGE)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 08fd6991..a621fe1e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -76,6 +76,8 @@ include(GNUInstallDirs)
if (BUILD_SHARED_LIBS)
add_library(${GD_LIB} ${LIBGD_SRC_FILES})
set_target_properties(${GD_LIB} PROPERTIES
+ SOVERSION ${GDLIB_LIB_SOVERSION}
+ VERSION ${GDLIB_LIB_VERSION}
C_VISIBILITY_PRESET hidden
CXX_VISIBILITY_PRESET hidden
)

+ 0
- 39
libs/libgd/patches/210-generate-install-gdlib.pc-for-cmake-builds-too-164.patch View File

@ -1,39 +0,0 @@
From dd76e8fcf2a2d7e122110444695ad20f2549420e Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Wed, 10 Jan 2018 01:56:10 -0500
Subject: [PATCH] generate & install gdlib.pc for cmake builds too #164
---
config/gdlib.pc.cmake | 9 +++++++++
src/CMakeLists.txt | 3 +++
2 files changed, 12 insertions(+)
create mode 100644 config/gdlib.pc.cmake
diff --git a/config/gdlib.pc.cmake b/config/gdlib.pc.cmake
new file mode 100644
index 00000000..fb828882
--- /dev/null
+++ b/config/gdlib.pc.cmake
@@ -0,0 +1,11 @@
+prefix=@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_INSTALL_PREFIX@
+libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@
+includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@
+
+Name: gd
+Description: GD graphics library
+Version: @GDLIB_VERSION@
+Cflags: -I${includedir}
+Libs.private: @LIBGD_DEP_LIBS@
+Libs: -L${libdir} -lgd
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index a621fe1e..38fc9c42 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -174,3 +174,6 @@ install(FILES
gdfontt.h
gdfx.h
DESTINATION include)
+
+CONFIGURE_FILE(../config/gdlib.pc.cmake gdlib.pc @ONLY)
+INSTALL(FILES "${CMAKE_CURRENT_BINARY_DIR}/gdlib.pc" DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")

+ 1
- 1
libs/libgd/patches/220-exclude_host_headers.patch View File

@ -1,6 +1,6 @@
--- a/CMakeLists.txt --- a/CMakeLists.txt
+++ b/CMakeLists.txt +++ b/CMakeLists.txt
@@ -89,8 +89,6 @@
@@ -94,8 +94,6 @@ else (USE_EXT_GD)
GV_LT(VERSION GDLIB_LIB_VERSION) GV_LT(VERSION GDLIB_LIB_VERSION)
MESSAGE(STATUS "gd shared lib version ${GDLIB_LIB_SOVERSION} (${GDLIB_LIB_VERSION})") MESSAGE(STATUS "gd shared lib version ${GDLIB_LIB_SOVERSION} (${GDLIB_LIB_VERSION})")


+ 0
- 11
libs/libgd/patches/300-gdlib.pc-cmake.patch View File

@ -1,11 +0,0 @@
--- a/config/gdlib.pc.cmake
+++ b/config/gdlib.pc.cmake
@@ -5,7 +5,7 @@ includedir=${prefix}/@CMAKE_INSTALL_INCL
Name: gd
Description: GD graphics library
-Version: @GDLIB_VERSION@
+Version: @GD_VERSION@
Cflags: -I${includedir}
Libs.private: @LIBGD_DEP_LIBS@
Libs: -L${libdir} -lgd

Loading…
Cancel
Save