1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
|
PORTNAME= digikam
DISTVERSION= 8.8.0
PORTREVISION= 3
CATEGORIES= graphics kde
MASTER_SITES= KDE/stable/${PORTNAME}/${PORTVERSION} \
https://files.kde.org/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
https://kde-applicationdata.mirrors.omnilance.com/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet \
https://mirrors.ocf.berkeley.edu/kde-applicationdata/${PORTNAME}/%SUBDIR%/:aitools,aesthetic,autotags,face,testimage,yunet
MASTER_SITE_SUBDIR= aestheticdetector/:aesthetic \
aitools/:aitools \
autotags/:autotags \
facesengine/:testimage \
facesengine/dnnface/:face \
facesengine/yunet/:yunet
# One bit changed in the naming convention ..
DISTFILES= digiKam-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}${EXTRACT_SUFX}
DIST_SUBDIR= KDE/${PORTNAME}
EXTRACT_ONLY= digiKam-${DISTVERSIONPREFIX}${DISTVERSION}${DISTVERSIONSUFFIX}${EXTRACT_SUFX}
MAINTAINER= kde@FreeBSD.org
COMMENT= KDE digital photo management application
WWW= https://www.digikam.org/
LICENSE= GPLv2
LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= boost-libs>=0:devel/boost-libs
LIB_DEPENDS= libexiv2.so:graphics/exiv2 \
libexpat.so:textproc/expat2 \
libgphoto2.so:graphics/libgphoto2 \
libjasper.so:graphics/jasper \
libjxl.so:graphics/libjxl \
liblcms2.so:graphics/lcms2 \
liblensfun.so:graphics/lensfun \
libopencv_core.so:graphics/opencv \
libheif.so:graphics/libheif \
libpng16.so:graphics/png \
libtiff.so:graphics/tiff \
libx265.so:multimedia/x265
RUN_DEPENDS= exiftool:graphics/p5-Image-ExifTool
USES= bison cmake compiler:c++20-lang desktop-file-utils eigen:3 \
gettext-tools gl gnome jpeg kde:6 magick pkgconfig qt:6 \
shebangfix tar:xz xorg
USE_GL= opengl glu
USE_GNOME= glib20 libxml2 libxslt
USE_KDE= calendarcore colorscheme completion config configwidgets \
coreaddons doctools filemetadata guiaddons i18n iconthemes \
jobwidgets kio libksane notifications notifyconfig service \
solid sonnet texttemplate threadweaver widgetsaddons \
windowsystem xmlgui \
ecm:build
USE_LDCONFIG= yes
USE_QT= base declarative networkauth positioning scxml svg \
webchannel webengine \
imageformats:run
USE_XORG= ice sm x11 xext
SHEBANG_FILES= core/data/scripts/digitaglinktree/digitaglinktree
CMAKE_ON= BUILD_WITH_CCACHE \
BUILD_WITH_QT6 \
CMAKE_DISABLE_FIND_PACKAGE_VAAPI \
DIGIKAMSC_COMPILE_DIGIKAM \
ENABLE_KFILEMETADATASUPPORT
CXXFLAGS+= -Wno-error=undef
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
PLIST_SUB= SHLIB_VER=${DISTVERSION}
WITH_CCACHE_BUILD= yes
OPTIONS_DEFINE= KDEPIM MEDIAPLAYER
OPTIONS_GROUP= DATA
DATA_DESC= Binary data required for certain features
OPTIONS_GROUP_DATA= AITOOLS AESTHETIC AUTOTAGS FACEDETECT
OPTIONS_MULTI= DB
DB_DESC= Database options
OPTIONS_MULTI_DB= MYSQL MYSQL_INTERNAL SQLITE3
OPTIONS_DEFAULT= ${OPTIONS_DEFINE} \
${OPTIONS_MULTI_DB:NMYSQL_INTERNAL}
OPTIONS_SUB= yes
# Check core/data/dnnmodels/dnnmodels.conf for new and obsolete files
# for the AITOOLS. AESTHETIC, AUTOTAGS and FACEDETECT options with each update.
AITOOLS_DESC= Install aitools (autorotate) data (~330 MiB)
AITOOLS_DISTFILES= deep-image-orientation-angle-detection.onnx:aitools
AESTHETIC_DESC= Install aesthetic detection data (~84 MiB)
AESTHETIC_DISTFILES= weights_inceptionv3_299.pb:aesthetic
AUTOTAGS_DESC= Install auto tags assignment data (~481 MiB)
AUTOTAGS_DISTFILES= classification_classes_ILSVRC2012.txt:autotags \
coco.names:autotags \
efficientnetb7.onnx:autotags \
yolo11n.onnx:autotags \
yolo11x.onnx:autotags
FACEDETECT_DESC= Install face management data (~37 MiB)
FACEDETECT_DISTFILES= dnntestimage.jpeg:testimage \
face_recognition_sface_2021dec.onnx:face \
face_detection_yunet_2023mar.onnx:yunet
KDEPIM_DESC= KDEPim Addressbook support
KDEPIM_USE= KDE=akonadi,akonadicontacts,contacts,grantleetheme,itemmodels
KDEPIM_CMAKE_BOOL= ENABLE_AKONADICONTACTSUPPORT
MEDIAPLAYER_DESC= Enable media player
MEDIAPLAYER_LIB_DEPENDS= libavcodec.so:multimedia/ffmpeg
MEDIAPLAYER_USE= QT=multimedia XORG=xv
MEDIAPLAYER_CMAKE_BOOL= ENABLE_MEDIAPLAYER
MEDIAPLAYER_CMAKE_BOOL_OFF= CMAKE_DISABLE_FIND_PACKAGE_FFmpeg
MYSQL_USE= QT=sqldriver-mysql:run
MYSQL_CMAKE_BOOL= ENABLE_MYSQLSUPPORT
MYSQL_INTERNAL_DESC= Use a dedicated MySQL instance (requires MariaDB)
MYSQL_INTERNAL_USES= mysql:server
MYSQL_INTERNAL_CMAKE_BOOL= ENABLE_INTERNALMYSQL
# Only works with MariaDB. Try to keep this in sync with supported MySQL
# versions and add any version not ending with 'm' to the IGNORE list.
MYSQL_INTERNAL_VARS= IGNORE_WITH_MYSQL="80 81"
MYSQL_INTERNAL_IMPLIES= MYSQL
SQLITE3_USE= QT=sqldriver-sqlite:run
post-install-AITOOLS-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${AITOOLS_DISTFILES:C/:.*//}
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
.endfor
post-install-AESTHETIC-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${AESTHETIC_DISTFILES:C/:.*//}
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
.endfor
post-install-AUTOTAGS-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${AUTOTAGS_DISTFILES:C/:.*//}
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
.endfor
post-install-FACEDETECT-on:
@${MKDIR} ${STAGEDIR}${DATADIR}/facesengine
.for f in ${FACEDETECT_DISTFILES:C/:.*//}
${INSTALL_DATA} ${DISTDIR}/${DIST_SUBDIR}/${f} ${STAGEDIR}${DATADIR}/facesengine
.endfor
.include <bsd.port.mk>
|