gnu: Add kafs-client
[jackhill/guix/guix.git] / gnu / packages / patches / pjproject-fix-pkg-config-ldflags.patch
1 From 9bcba7fb28055550961b134e517b695a8cd05b2a Mon Sep 17 00:00:00 2001
2 From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
3 Date: Mon, 3 Aug 2020 17:43:19 -0400
4 Subject: [PATCH] libpjproject.pc: Move external libraries to Libs.private.
5
6 This is done so users of a shared pjproject library do not get link
7 directives (provided via pkg-config file of pjproject) to link against
8 pjproject's own library dependencies.
9
10 Static linking with pjproject is preserved by moving the external
11 libraries link directives to the Libs.private field, which is
12 specifically intended for this purpose, via for example:
13
14 $ pkg-config --static --libs libpjproject
15
16 * build.mak.in (PJ_INSTALL_LDFLAGS_PRIVATE): New variable.
17 (PJ_INSTALL_LDFLAGS): Filter out PJ_INSTALL_LDFLAGS_PRIVATE entries.
18 * libpjproject.pc.in (Libs.private): New field.
19 * Makefile: Substitute PJ_INSTALL_LDFLAGS_PRIVATE as the value for the
20 Libs.private field.
21 ---
22 Makefile | 5 +++--
23 build.mak.in | 3 ++-
24 libpjproject.pc.in | 1 +
25 3 files changed, 6 insertions(+), 3 deletions(-)
26
27 diff --git a/Makefile b/Makefile
28 index 3fd5cab40..d67badfa4 100644
29 --- a/Makefile
30 +++ b/Makefile
31 @@ -54,14 +54,14 @@ doc:
32 exit 1; \
33 fi; \
34 done
35 -
36 +
37 LIBS = pjlib/lib/libpj-$(TARGET_NAME).a \
38 pjlib-util/lib/libpjlib-util-$(TARGET_NAME).a \
39 pjnath/lib/libpjnath-$(TARGET_NAME).a \
40 pjmedia/lib/libpjmedia-$(TARGET_NAME).a \
41 pjmedia/lib/libpjmedia-audiodev-$(TARGET_NAME).a \
42 pjmedia/lib/libpjmedia-codec-$(TARGET_NAME).a \
43 - pjsip/lib/libpjsip-$(TARGET_NAME).a \
44 + pjsip/lib/libpjsip-$(TARGET_NAME).a \
45 pjsip/lib/libpjsip-ua-$(TARGET_NAME).a \
46 pjsip/lib/libpjsip-simple-$(TARGET_NAME).a \
47 pjsip/lib/libpjsua-$(TARGET_NAME).a
48 @@ -133,6 +133,7 @@ install:
49 sed -e "s!@LIBDIR@!$(libdir)!" | \
50 sed -e "s/@PJ_VERSION@/$(PJ_VERSION)/" | \
51 sed -e "s!@PJ_INSTALL_LDFLAGS@!$(PJ_INSTALL_LDFLAGS)!" | \
52 + sed -e "s!@PJ_INSTALL_LDFLAGS_PRIVATE@!$(PJ_INSTALL_LDFLAGS_PRIVATE)!" | \
53 sed -e "s!@PJ_INSTALL_CFLAGS@!$(PJ_INSTALL_CFLAGS)!" > $(DESTDIR)/$(libdir)/pkgconfig/libpjproject.pc
54
55 uninstall:
56 diff --git a/build.mak.in b/build.mak.in
57 index a9078bb25..1a18a8513 100644
58 --- a/build.mak.in
59 +++ b/build.mak.in
60 @@ -318,4 +318,5 @@ export PJ_INSTALL_DIR := @prefix@
61 export PJ_INSTALL_INC_DIR := @includedir@
62 export PJ_INSTALL_LIB_DIR := @libdir@
63 export PJ_INSTALL_CFLAGS := -I$(PJ_INSTALL_INC_DIR) -DPJ_AUTOCONF=1 @ac_cflags@
64 -export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(APP_LDXXLIBS)
65 +export PJ_INSTALL_LDFLAGS_PRIVATE := $(APP_THIRD_PARTY_LIBS) $(APP_THIRD_PARTY_EXT) @LIBS@
66 +export PJ_INSTALL_LDFLAGS := -L$(PJ_INSTALL_LIB_DIR) $(filter-out $(PJ_INSTALL_LDFLAGS_PRIVATE),$(APP_LDXXLIBS))
67 diff --git a/libpjproject.pc.in b/libpjproject.pc.in
68 index 30ea05c07..4372d5016 100644
69 --- a/libpjproject.pc.in
70 +++ b/libpjproject.pc.in
71 @@ -10,4 +10,5 @@ Description: Multimedia communication library
72 URL: http://www.pjsip.org
73 Version: @PJ_VERSION@
74 Libs: @PJ_INSTALL_LDFLAGS@
75 +Libs.private: @PJ_INSTALL_LDFLAGS_PRIVATE@
76 Cflags: @PJ_INSTALL_CFLAGS@
77 --
78 2.27.0
79