Browse Source

libgd: fix wrong version

Upstream messed up and did not include getlib.sh, causing a wrong version
to be applied to the library.

lrwxrwxrwx 1 libgd.so -> libgd.so.VERSION
-rw-r--r-- 1 libgd.so.VERSION

Signed-off-by: Rosen Penev <rosenp@gmail.com>
lilik-openwrt-22.03
Rosen Penev 5 years ago
parent
commit
cc8901117d
No known key found for this signature in database GPG Key ID: 36D31CFA845F0E3B
2 changed files with 62 additions and 1 deletions
  1. +1
    -1
      libs/libgd/Makefile
  2. +61
    -0
      libs/libgd/patches/010-getlib.patch

+ 1
- 1
libs/libgd/Makefile View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libgd
PKG_VERSION:=2.3.0
PKG_RELEASE:=2
PKG_RELEASE:=3
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=https://github.com/$(PKG_NAME)/$(PKG_NAME)/releases/download/gd-$(PKG_VERSION)/


+ 61
- 0
libs/libgd/patches/010-getlib.patch View File

@ -0,0 +1,61 @@
From 635dd9a3065ed88e1741e6b963044b80e913f96a Mon Sep 17 00:00:00 2001
From: Remi Collet <remi@remirepo.net>
Date: Tue, 24 Mar 2020 08:01:01 +0100
Subject: [PATCH] distribute getlib.sh
---
config/getlib.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
create mode 100755 config/getlib.sh
diff --git a/config/getlib.sh b/config/getlib.sh
new file mode 100755
index 0000000..4835cf6
--- /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
--
2.25.1

Loading…
Cancel
Save