gnu: pjproject: Fix problem in pkg-config file.
* gnu/packages/patches/pjproject-correct-the-cflags-field.patch: Add patch. * gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch: Likewise. * gnu/local.mk (dist_patch_DATA): Register the new patches. * gnu/packages/telephony.scm (pjproject): Use them. * gnu/packages/jami.scm (pjproject-jami): Remove a patch from pjproject-jami that is already applied against pjproject.
This commit is contained in:
parent
742c49bafe
commit
839bb42f0c
5 changed files with 163 additions and 1 deletions
|
@ -1410,6 +1410,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/pingus-boost-headers.patch \
|
%D%/packages/patches/pingus-boost-headers.patch \
|
||||||
%D%/packages/patches/pingus-sdl-libs-config.patch \
|
%D%/packages/patches/pingus-sdl-libs-config.patch \
|
||||||
%D%/packages/patches/pixman-CVE-2016-5296.patch \
|
%D%/packages/patches/pixman-CVE-2016-5296.patch \
|
||||||
|
%D%/packages/patches/pjproject-correct-the-cflags-field.patch \
|
||||||
|
%D%/packages/patches/pjproject-fix-pkg-config-ldflags.patch \
|
||||||
%D%/packages/patches/plink-1.07-unclobber-i.patch \
|
%D%/packages/patches/plink-1.07-unclobber-i.patch \
|
||||||
%D%/packages/patches/plink-endian-detection.patch \
|
%D%/packages/patches/plink-endian-detection.patch \
|
||||||
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
%D%/packages/patches/plib-CVE-2011-4620.patch \
|
||||||
|
|
|
@ -171,7 +171,8 @@
|
||||||
"0007-pj_ice_sess"
|
"0007-pj_ice_sess"
|
||||||
"0008-fix_ioqueue_ipv6_sendto"
|
"0008-fix_ioqueue_ipv6_sendto"
|
||||||
"0009-add-config-site"
|
"0009-add-config-site"
|
||||||
"0010-fix-pkgconfig"
|
;; Note: The base pjproject is already patched with
|
||||||
|
;; "0010-fix-pkgconfig".
|
||||||
"0011-fix-tcp-death-detection"
|
"0011-fix-tcp-death-detection"
|
||||||
"0012-fix-turn-shutdown-crash"))
|
"0012-fix-turn-shutdown-crash"))
|
||||||
#t)))
|
#t)))
|
||||||
|
|
121
gnu/packages/patches/pjproject-correct-the-cflags-field.patch
Normal file
121
gnu/packages/patches/pjproject-correct-the-cflags-field.patch
Normal file
|
@ -0,0 +1,121 @@
|
||||||
|
From 44f8f6c1c71bec6bf00269b075a2dc801ae6fd45 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vladimir Stoiakin <VStoiakin@lavabit.com>
|
||||||
|
Date: Thu, 23 Apr 2020 14:06:40 +0300
|
||||||
|
Subject: [PATCH 1/2] libpjproject.pc: correct the field 'cflags'
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile | 6 ++----
|
||||||
|
aconfigure | 4 ++++
|
||||||
|
aconfigure.ac | 3 +++
|
||||||
|
build.mak.in | 7 +++----
|
||||||
|
libpjproject.pc.in | 4 ++--
|
||||||
|
5 files changed, 14 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index ffaf638dd..3fd5cab40 100644
|
||||||
|
--- a/Makefile
|
||||||
|
+++ b/Makefile
|
||||||
|
@@ -132,10 +132,8 @@ install:
|
||||||
|
sed -e "s!@INCLUDEDIR@!$(includedir)!" | \
|
||||||
|
sed -e "s!@LIBDIR@!$(libdir)!" | \
|
||||||
|
sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
|
||||||
|
- sed -e "s!@PJ_LDLIBS@!!" | \
|
||||||
|
- sed -e "s!@PJ_LDXXLIBS@!$(PJ_LDXXLIBS)!" | \
|
||||||
|
- sed -e "s!@PJ_INSTALL_CFLAGS@!!" | \
|
||||||
|
- sed -e "s!@PJ_INSTALL_CXXFLAGS@!$(PJ_INSTALL_CXXFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
|
||||||
|
+ sed -e "s!@PJ_INSTALL_LDFLAGS@!$(PJ_INSTALL_LDFLAGS)!" | \
|
||||||
|
+ sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
|
||||||
|
|
||||||
|
uninstall:
|
||||||
|
$(RM) $(DESTDIR)$(libdir)/pkgconfig/libpjproject.pc
|
||||||
|
diff --git a/aconfigure b/aconfigure
|
||||||
|
index 2abbcf533..1ab932bda 100755
|
||||||
|
--- a/aconfigure
|
||||||
|
+++ b/aconfigure
|
||||||
|
@@ -706,6 +706,7 @@ GREP
|
||||||
|
CPP
|
||||||
|
ac_cross_compile
|
||||||
|
ac_shlib_suffix
|
||||||
|
+ac_cflags
|
||||||
|
ac_build_mak_vars
|
||||||
|
ac_pjdir
|
||||||
|
CC_CFLAGS
|
||||||
|
@@ -3952,6 +3953,7 @@ if test "$CC_CFLAGS" = ""; then CC_CFLAGS="-Wall"; fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
+
|
||||||
|
case $host in
|
||||||
|
*mingw* | *cygw* | *win32* | *w32* )
|
||||||
|
if pwd -W 2&> /dev/null; then
|
||||||
|
@@ -5138,8 +5140,10 @@ $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
|
||||||
|
|
||||||
|
if test "x$ac_cv_c_bigendian" = "xyes"; then
|
||||||
|
CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
|
||||||
|
+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
|
||||||
|
else
|
||||||
|
CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
|
||||||
|
+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/aconfigure.ac b/aconfigure.ac
|
||||||
|
index 83d3559ed..b1d493c08 100644
|
||||||
|
--- a/aconfigure.ac
|
||||||
|
+++ b/aconfigure.ac
|
||||||
|
@@ -71,6 +71,7 @@ AC_SUBST(CC_CFLAGS)
|
||||||
|
|
||||||
|
AC_SUBST(ac_pjdir)
|
||||||
|
AC_SUBST(ac_build_mak_vars)
|
||||||
|
+AC_SUBST(ac_cflags)
|
||||||
|
|
||||||
|
case $host in
|
||||||
|
*mingw* | *cygw* | *win32* | *w32* )
|
||||||
|
@@ -144,8 +145,10 @@ AC_C_BIGENDIAN
|
||||||
|
|
||||||
|
if test "x$ac_cv_c_bigendian" = "xyes"; then
|
||||||
|
CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
|
||||||
|
+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=1 -DPJ_IS_LITTLE_ENDIAN=0"
|
||||||
|
else
|
||||||
|
CFLAGS="$CFLAGS -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
|
||||||
|
+ ac_cflags="$ac_cflags -DPJ_IS_BIG_ENDIAN=0 -DPJ_IS_LITTLE_ENDIAN=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
dnl
|
||||||
|
diff --git a/build.mak.in b/build.mak.in
|
||||||
|
index abc0c4fa0..a9078bb25 100644
|
||||||
|
--- a/build.mak.in
|
||||||
|
+++ b/build.mak.in
|
||||||
|
@@ -299,7 +299,7 @@ export APP_LDXXLIBS := $(PJSUA2_LIB_LDLIB) \
|
||||||
|
-lstdc++ \
|
||||||
|
$(APP_LDLIBS)
|
||||||
|
|
||||||
|
-# Here are the variabels to use if application is using the library
|
||||||
|
+# Here are the variables to use if application is using the library
|
||||||
|
# from within the source distribution
|
||||||
|
export PJ_CC := $(APP_CC)
|
||||||
|
export PJ_CXX := $(APP_CXX)
|
||||||
|
@@ -317,6 +317,5 @@ export PJ_LIBXX_FILES := $(APP_LIBXX_FILES)
|
||||||
|
export PJ_INSTALL_DIR := @prefix@
|
||||||
|
export PJ_INSTALL_INC_DIR := @includedir@
|
||||||
|
export PJ_INSTALL_LIB_DIR := @libdir@
|
||||||
|
-export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @CFLAGS@
|
||||||
|
-export PJ_INSTALL_CXXFLAGS := @CXXFLAGS@ $(PJ_INSTALL_CFLAGS)
|
||||||
|
-export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDLIBS)
|
||||||
|
+export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
|
||||||
|
+export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDXXLIBS)
|
||||||
|
diff --git a/libpjproject.pc.in b/libpjproject.pc.in
|
||||||
|
index fa8d39114..30ea05c07 100644
|
||||||
|
--- a/libpjproject.pc.in
|
||||||
|
+++ b/libpjproject.pc.in
|
||||||
|
@@ -9,5 +9,5 @@ Name: libpjproject
|
||||||
|
Description: Multimedia communication library
|
||||||
|
URL: http://www.pjsip.org
|
||||||
|
Version: @PJ_VERSION@
|
||||||
|
-Libs: -L${libdir} @PJ_LDXXLIBS@
|
||||||
|
-Cflags: -I${includedir} @PJ_INSTALL_CXXFLAGS@
|
||||||
|
+Libs: @PJ_INSTALL_LDFLAGS@
|
||||||
|
+Cflags: @PJ_INSTALL_CFLAGS@
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
34
gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch
Normal file
34
gnu/packages/patches/pjproject-fix-pkg-config-ldflags.patch
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
From 7a86f357ffa2339a67991e5f4f5610a218e80693 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
|
||||||
|
Date: Mon, 3 Aug 2020 17:43:19 -0400
|
||||||
|
Subject: [PATCH 2/2] build.mak.in: Filter out 3rd party libraries from
|
||||||
|
PJ_INSTALL_LDFLAGS.
|
||||||
|
|
||||||
|
This is done so users of the installed pjproject libraries do not get
|
||||||
|
directives (provided via pkg-config file of pjproject) to link against
|
||||||
|
pjproject's own library dependencies.
|
||||||
|
|
||||||
|
* build.mak.in (THIRD_PARTY_LIBRARIES): New variable.
|
||||||
|
(PJ_INSTALL_LDFLAGS): Filter out THIRD_PARTY_LIBRARIES.
|
||||||
|
---
|
||||||
|
build.mak.in | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/build.mak.in b/build.mak.in
|
||||||
|
index a9078bb25..86fd1ec30 100644
|
||||||
|
--- a/build.mak.in
|
||||||
|
+++ b/build.mak.in
|
||||||
|
@@ -314,8 +314,9 @@ export PJ_LIBXX_FILES := $(APP_LIBXX_FILES)
|
||||||
|
|
||||||
|
# And here are the variables to use if application is using the
|
||||||
|
# library from the install location (i.e. --prefix)
|
||||||
|
+THIRD_PARTY_LIBRARIES := $(APP_THIRD_PARTY_LIBS) $(APP_THIRD_PARTY_EXT) @LIBS@
|
||||||
|
export PJ_INSTALL_DIR := @prefix@
|
||||||
|
export PJ_INSTALL_INC_DIR := @includedir@
|
||||||
|
export PJ_INSTALL_LIB_DIR := @libdir@
|
||||||
|
export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
|
||||||
|
-export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDXXLIBS)
|
||||||
|
+export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(filter-out $(THIRD_PARTY_LIBRARIES),$(APP_LDXXLIBS))
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -731,6 +731,10 @@ your calls and messages.")
|
||||||
(base32
|
(base32
|
||||||
"1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
|
"1aklicpgwc88578k03i5d5cm5h8mfm7hmx8vfprchbmaa2p8f4z0"))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
|
;; The patches upstream status can be tracked at:
|
||||||
|
;; https://github.com/pjsip/pjproject/pull/2501.
|
||||||
|
(patches (search-patches "pjproject-correct-the-cflags-field.patch"
|
||||||
|
"pjproject-fix-pkg-config-ldflags.patch"))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
;; Remove bundled libraries.
|
;; Remove bundled libraries.
|
||||||
|
|
Reference in a new issue