commit:     2c5edaf73d4f2ca6894fff3fbf13088997de98e2
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 13 01:56:07 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Apr 13 01:56:07 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2c5edaf7

media-libs/lcms: fix linking with pthread

Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../lcms/files/lcms-2.15-pthread-linking.patch     | 25 ++++++++++++++++++++++
 media-libs/lcms/lcms-2.15.ebuild                   |  1 +
 2 files changed, 26 insertions(+)

diff --git a/media-libs/lcms/files/lcms-2.15-pthread-linking.patch 
b/media-libs/lcms/files/lcms-2.15-pthread-linking.patch
new file mode 100644
index 000000000000..613d43415b3d
--- /dev/null
+++ b/media-libs/lcms/files/lcms-2.15-pthread-linking.patch
@@ -0,0 +1,25 @@
+https://github.com/mm2/Little-CMS/commit/1cb1e12fc298b86168ff5606d4ae8d5adb478021
+
+From 1cb1e12fc298b86168ff5606d4ae8d5adb478021 Mon Sep 17 00:00:00 2001
+From: Daniel Engberg <[email protected]>
+Date: Sun, 19 Mar 2023 13:19:14 +0100
+Subject: [PATCH] meson: Link pthread library to threaded plugin
+
+Fixes
+```
+cc  -o plugins/threaded/src/liblcms2_threaded.so 
plugins/threaded/src/liblcms2_threaded.so.p/threaded_core.c.o 
plugins/threaded/src/liblcms2_threaded.so.p/threaded_main.c.o 
plugins/threaded/src/liblcms2_threaded.so.p/threaded_scheduler.c.o 
plugins/threaded/src/liblcms2_threaded.so.p/threaded_split.c.o -Wl,--as-needed 
-Wl,--no-undefined -Wl,-O1 -shared -fPIC -Wl,--start-group 
-Wl,-soname,liblcms2_threaded.so -fstack-protector-strong -O2 -pipe 
-fstack-protector-strong -fno-strict-aliasing '-Wl,-rpath,$ORIGIN/../../../src' 
-Wl,-rpath-link,/usr/ports/graphics/lcms2/work/lcms2-2.15/_build/src 
src/liblcms2.so.2.0.15 -Wl,--end-group
+ld: error: undefined symbol: pthread_create
+```
+OS: FreeBSD 13.2-BETA1 (amd64)
+--- a/plugins/threaded/src/meson.build
++++ b/plugins/threaded/src/meson.build
+@@ -21,7 +21,7 @@ liblcms2_threaded = library(
+   'lcms2_threaded',
+   liblcms2_threaded_sources,
+   include_directories: lcms2_threaded_incdir,
+-  dependencies: liblcms2_dep,
++  dependencies: [ liblcms2_dep, threads_dep ],
+   c_args: cargs,
+   install: true,
+ )
+

diff --git a/media-libs/lcms/lcms-2.15.ebuild b/media-libs/lcms/lcms-2.15.ebuild
index 20c12e472a27..d7c7043df029 100644
--- a/media-libs/lcms/lcms-2.15.ebuild
+++ b/media-libs/lcms/lcms-2.15.ebuild
@@ -28,6 +28,7 @@ PATCHES=(
        "${FILESDIR}"/${PN}-2.15-meson-big-endian.patch
        "${FILESDIR}"/${PN}-2.15-meson-samples.patch
        "${FILESDIR}"/${PN}-2.15-meson-psicc-man-page.patch
+       "${FILESDIR}"/${PN}-2.15-pthread-linking.patch
 )
 
 multilib_src_configure() {

Reply via email to