summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--freebsd/applications/graphics/digikam/Makefile2
-rw-r--r--freebsd/applications/graphics/digikam/files/patch-bp000-fix-showfoto-crashes.diff56
2 files changed, 57 insertions, 1 deletions
diff --git a/freebsd/applications/graphics/digikam/Makefile b/freebsd/applications/graphics/digikam/Makefile
index 306b797fe..01dcf8332 100644
--- a/freebsd/applications/graphics/digikam/Makefile
+++ b/freebsd/applications/graphics/digikam/Makefile
@@ -11,7 +11,7 @@ PORTNAME= digikam-trinity
COMMENT= Digital photo management application for Trinity
TDE_PREVERSION=
MASTER_SITE_SUBDIR= d/${PORTNAME}
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= graphics x11
DIST_SUBDIR= TDE/applications/graphics
diff --git a/freebsd/applications/graphics/digikam/files/patch-bp000-fix-showfoto-crashes.diff b/freebsd/applications/graphics/digikam/files/patch-bp000-fix-showfoto-crashes.diff
new file mode 100644
index 000000000..f3dda49bb
--- /dev/null
+++ b/freebsd/applications/graphics/digikam/files/patch-bp000-fix-showfoto-crashes.diff
@@ -0,0 +1,56 @@
+commit 0254a5942b7ff18bf0072db3ebcd591512d99a10
+Author: Michele Calgaro <michele.calgaro@yahoo.it>
+Date: Sat May 3 22:45:33 2025 +0900
+
+ Fix showfoto usability.
+
+ This resolves issue #50.
+
+ The problem seems to be a known issue already addressed by the original
+ authors. This is an extract from the 'ChangeLog' file that best
+ describes the issue:
+ ```
+ Fix a linking problem with showfoto, image plugins and
+ --enable-gcc-hidden-visibility:
+ All image plugins link to libdigikam.so.
+ The showfoto executable however does not link to this lib, but
+ statically links the relevant parts.
+ With visibility hidden, now the linker obviously cannot see the
+ already linked DImgInterface class,
+ and there would be two different static variables for
+ DImgInterface::instance(). One with the loaded
+ image, the other (from the image plugins) with a null image.
+ ```
+ Linking against libdigikam.so instead of including the libraries in a
+ static way solves the issue.
+
+ Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
+ (cherry picked from commit f8074c05d9a2ad3b4a4e44557222ad51539b7e79)
+
+diff --git a/src/digikam/CMakeLists.txt b/src/digikam/CMakeLists.txt
+index 42785dbf..f756c188 100644
+--- a/src/digikam/CMakeLists.txt
++++ b/src/digikam/CMakeLists.txt
+@@ -44,7 +44,7 @@ tde_add_library( digikam SHARED AUTOMOC
+ tagfolderview.cpp tagspopupmenu.cpp timelinefolderview.cpp timelineview.cpp timelinewidget.cpp
+ upgradedb_sqlite2tosqlite3.cpp welcomepageview.cpp
+ LINK
+- sqlite2-static thumbbar-static themeengine-static dialog-static metadatawidgets-static
++ sqlite2-static thumbbar-static themeengine-static dialog-static metadatawidgets-static
+ iccprofileswidgets-static imagepluginswidgets-static commonwidgets-static
+ jpegutils-static dimg-static imagepropertiesdigikam-static threadimageio-static
+ greycstoration-static batch-static slideshow-static cameragui-static
+diff --git a/src/showfoto/CMakeLists.txt b/src/showfoto/CMakeLists.txt
+index 96993fb3..526b1a58 100644
+--- a/src/showfoto/CMakeLists.txt
++++ b/src/showfoto/CMakeLists.txt
+@@ -25,8 +25,7 @@ add_subdirectory( setup )
+ tde_add_executable( showfoto AUTOMOC
+ SOURCES main.cpp showfoto.cpp
+ LINK
+- imagepropertiesshowfoto-static jpegutils-static showfoto-static showfotosetupinternal-static
+- slideshow-static themeengine-static threadimageio-static thumbbar-static
++ showfotosetupinternal-static digikam-shared
+ tdeparts-shared tdeutils-shared ${CMAKE_THREAD_LIBS_INIT} ${KDCRAW_LIBRARIES} ${KEXIV2_LIBRARIES}
+ DESTINATION ${BIN_INSTALL_DIR}
+ )