Darktable is a virtual lighttable and darkroom for photographers: an open
source photography workflow application and raw image developer. It manages
digital negatives in a database and lets one view them through a zoomable
lighttable. It also enables one to develop raw images and enhance them.
Darktable tries to fill the gap between many excellent existing free raw
converters and image management tools (such as UFRaw or F-Spot). The user
interface is built around efficient caching of image metadata and mipmaps,
all stored in a database. The user will always be able to interact, even
if the full resolution image is not yet loaded.
All editing is fully non-destructive and only operates on cached image
buffers for display. The full image is only converted during export. The
frontend is written in Gtk+/Cairo, the database uses SQLite3, raw image
loading is done using libraw and rawspeed, high-dynamic range and standard
image formats such as JPEG are also supported. The core operates completely
on floating point values, so darktable can not only be used for photography
but also for scientifically acquired images or output of renderers (high
dynamic range).
===> The following configuration options are available for darktable-5.4.1_1:
DOCS=on: Build and/or install documentation
GMIC=off: Support G'Mic-compressed LUT in lut3d
GRAPHMAGICK=off: GraphicsMagick image processing support
IMAGEMAGICK=off: ImageMagick image processing support
LIBSECRET=off: Support libsecret as password backend
NLS=on: Native Language Support
PRINT=on: Printer support
TOOLS=off: Install additional scripts
===> Use 'make config' to modify these settings
graphics/darktable: Add `llvm:build` after `compiler:*` in USES=
The move of `USES+=compiler:*` later in the file to be able to check
`${ARCH}` apparently triggered the following warning:
make: .../Mk/Uses/compiler.mk:86: warning: Command
"/usr/local/llvm19/bin/clang --version" exited with status 127
make: .../Mk/Uses/compiler.mk:134: warning: Command
"/usr/local/llvm19/bin/clang++ -### /dev/null 2>&1" exited with status 127
It looks like the order of `compiler:*` and `llvm:*` is important.
Moving the addition of `llvm:compiler` after `compiler:*` was added
conditionally fixes that warning.
PR: 292128
Reported by: Trond Endrestøl <Trond.Endrestol@ximalas.info>
Tested by: Trond Endrestøl <Trond.Endrestol@ximalas.info>,
Herbert J. Skuhra <herbert@gojira.at>
graphics/darktable: fix build on powerpc64le
Use GCC to work around https://github.com/llvm/llvm-project/issues/147288
Add -lexecinfo because of:
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(HAVE_EXECINFO_H)
add_definitions("-DDT_HAVE_SIGNAL_TRACE")
message(STATUS "Signal debug: print-trace possible")
endif(HAVE_EXECINFO_H)
endif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
graphics/darktable: update to 5.2.0 + cherry-picks
We add some files/patch-git-* cherry-picked from the upstream's
release-5.2.x branch.
While here, lift the LLVM pinning to version 17,
we use 19 as default now, and FreeBSD 13.5, 14.2 and 14.3 build with it.
ChangeLog: https://github.com/darktable-org/darktable/releases/tag/release-5.2.0
PR: 288028
Approved by: dumbbell@ (maintainer)
graphics/darktable: Force building with GCC 12
Second attempt to set USE_GCC=12 properly, so that the GCC_DEFAULT
update can get forward.
PR: 273681
Approved by: portmgr (blanket)
Fixes: c97005f74a5b graphics/darktable: Set USE_GCC=12
graphics/libjxl: force rebuild consumers after 4c1f4b3f46bc
$ ffmpeg
ld-elf.so.1: Shared object "libjxl.so.0.9" not found, required by
"libavcodec.so.60"
Reported by: vvd
graphics/darktable: Set USE_GCC=12
This is to allow the update of GCC_DEFAULT to version 13 until a better
solution is found.
PR: 273681
Approved by: portmgr (blanket)
*/*: Sunset 12.4-RELEASE/12-STABLE from ports tree
- Remove all references to defunct ARCH arm
- Remove all references to defunct ARCH sparc64
- Remove x11-drivers/xf86-video-sunffb which requires defunct sparc64
ARCH
- Remove sysutils/afbinit requires defunct sparc64 ARCH
- Remove all references to bktr driver
- Remove all references to defunct FreeBSD_12
- Remove all references to OSVERSION/OSREL corresponding to 12
- Remove conditionals in Mk/Uses/cabal.mk
- Remove sparc reference from Mk/Uses/qt-dist.mk
- Remove BROKEN_sparc64/NOT_FOR_ARCH=sparc64
- Remove BROKEN_FreeBSD_12* from:
- Remove OpenSSL patches from:
- Remove conditional flags for OSVERSION >= 1300000 to fixed flags.
Also move conditional flags for non sparc64/arm ARCH to fixed flags.
Reviewed by: brooks, jbeich, rene, salvadore
Differential Revision: https://reviews.freebsd.org/D42068
graphics/darktable: Build explicitly with GCC 12.x on FreeBSD 12.x
On FreeBSD 12.x, it looks like GCC 13+ is incompatible with the version
of libcxx. In the case of darktable, this leads to the following compile
time error:
In file included from
/usr/include/c++/v1/__functional/weak_result_type.h:16,
from /usr/include/c++/v1/__functional/invoke.h:14,
from /usr/include/c++/v1/__functional_base:15,
from /usr/include/c++/v1/string:520,
from
.../work/darktable-4.4.2/src/external/rawspeed/src/librawspeed/common/ChecksumFile.h:23,
from
.../work/darktable-4.4.2/src/external/rawspeed/src/librawspeed/common/ChecksumFile.cpp:21:
/usr/include/c++/v1/type_traits:1770:8: error: expected identifier before
'__is_convertible'
1770 | struct __is_convertible
| ^~~~~~~~~~~~~~~~
(Only the first 15 lines of the commit message are shown above )
graphics/darktable: Update to 4.4.2
Release notes:
* https://github.com/darktable-org/darktable/releases/tag/release-4.4.2
At the same time, bump the LLVM build dependency to version 15. It
matches the version used by Mesa. This likely avoids the need for to
versions of LLVM.
graphics/darktable: Remove empty PORTREVISION
The port failed to build with the following error:
graphics/darktable fails to build with:
/!\ darktable-4.4.1: Makefile errors /!\
PORTREVISION needs to be an integer >= 0
PR: 272628
Reported by: Philipp Ost <bsd@philippost.de>
Submitted by: Philipp Ost <bsd@philippost.de>
accessibility/at-spi2-core: update to 2.46.0
What's new in at-spi2-core 2.46.0:
* Fix GetInterfaces documentation on org.a11y.atspi.Accessible
interface.
What's new in at-spi2-core 2.45.91:
* Send device event controller events using the same signature as other
events.
* Document the Accessible, Action, and Cache dbus interfaces.
* Fix license of atspi-gmain.c (#87).
What's new in at-spi2-core 2.45.90:
* xml: Add some documentation.
* xml: Fix event arguments.
(Only the first 15 lines of the commit message are shown above )
graphics/darktable: fix stage-qa libjxl complaint
Approved by: portmgr@ (blanket fix-depends)
Reported by: Jan Beich
The actual file support was previously requested in
PR: 266125
as a misnamed option, but now JPEG XL is enabled unconditionally.
graphics/darktable: Update to 4.2.0
Release notes:
https://github.com/darktable-org/darktable/releases/tag/release-4.2.0
The work was done by Matthias Andree (mandree@) in
`graphics/darktable42`. Some of the style fixes were added in a separate
commit. Thank you Matthias!
The temporary port `graphics/darktable42` can be removed at the same
time, now that the main port is up-to-date.
Submitted by: mandree@
graphics/darktable: Remove several options previously enabled by default
They all contribute to the full experience of Darktable and I never take
the time to test the port without these options. Let's simplify the port
then.
The only default option left is `PRINT`. Many users are probably not
printing their photos, so leave the possibility to turn this off.
graphics/darktable: Import style fixes and improvements from
graphics/darktable42
No functional changes, except the dependency to math/Imath which is not
optional anymore (but it was behind a default option).
graphics/darktable: Use GCC as the compiler instead of LLVM
Darktable source code is heavily tuned for GCC and its optimizations. It
always required some work to make it compile with LLVM. With LLVM 14+,
new errors around `static inline __attribute__((target-clones))`
appeared: the compiler failed to link the final executable because there
was multiple copies of the same ifunc resolver (the code originated from
a header included in a couple places). Apparently GCC knows how to deal
with the "static-inline"-ness of the resolver somehow.
Unfortunately, even with GCC, we get several compilation failures
because the source files enable Graphite optimizations (using `#pragma`)
but our GCC compiler has Graphite disabled by default. All the patches
included in this commit simply delete all the corresponding `#pragma`. I
suppose Darktable will be slightly slower because of this, but I didn't
measure anything.
In the end, the dependencies of the port change a bit because GCC
replaces LLVM.
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
graphics: remove 'Created by' lines
A big Thank You to the original contributors of these ports:
* "Waitman Gobble" <uzimac@da3m0n8t3r.com>
* Aaron Dalton <aaron@FreeBSD.org>
* Abel Chow <ozsanh45vds001@sneakemail.com>
* Adam Weinberger <adamw@FreeBSD.org>
* Ade Lovett <ade@FreeBSD.org>
* Ade Lovett <ade@lovett.com>
* Akinori MUSHA aka knu <knu@idaemons.org>
* Aldis Berjoza <aldis@bsdroot.lv>
* Alex Hayward <xelah@xelah.com>
* Alex Ivasyuv <siegerstein@pochta.ru>
* Alex Samorukov <samm@os2.kiev.ua>
(Only the first 15 lines of the commit message are shown above )
textproc/libxml2: bump all LIB_DEPENDS consumers
This is a separate commit to facilitate easier cherry-picking for
quarterly.
PR: 262853, 262940, 262877, 263126
Approved by: fluffy (mentor)
textproc/libxml2: bump all dependencies
This should make sure that all dependent ports will pick
up the new version commited with a13ec21cd733f67a9fc0dc00ab45268bdc236246
graphics/darktable: update to 3.8.1
After having matured this code in graphics/darktable38 for two months,
showtime. Let's upgrade graphics/darktable to 3.8.1.
Note: LTO on RawSpeed still does not work, ninja re-enabled.
Rename option from LIBAVIF to AVIF.
Convert all <opt>_CMAKE_OFF to <opt>_CMAKE_BOOL
for tighter control of options.
ChangeLog:
+ https://github.com/darktable-org/darktable/releases/tag/release-3.8.0
+ https://github.com/darktable-org/darktable/releases/tag/release-3.8.1
PR: 260674
Approved by: dumbbell@ (maintainer timeout, 14 d)
dumbbell@ was positive to committing a previous version of this, earlier
graphics/darktable: unbreak AVIF=on after 3036600b61bd
====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: lib/darktable/plugins/imageio/format/libavif.so
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: %%LIBAVIF%%lib/darktable/plugins/imageio/format/libavif.so
===> Error: Plist issues found.
*** Error code 1
Pointy hat to: jbeich
Mk/bsd.options.desc.mk: add shared AVIF description
Intended for the reference implementation. Ports with AVIF support via
libheif (LGPLv3+, C++-based) to use HEIF option instead.
Fix CONFLICTS entries of multiple ports
There have been lots of missing CONFLICTS_INSTALL entries, either
because conflicting ports were added without updating existing ports,
due to name changes of generated packages, due to mis-understanding
the format and semantics of the conflicts entries, or just due to
typoes in package names.
This patch is the result of a comparison of all files contained in
the official packages with each other. This comparison was based on
packages built with default options and may therefore have missed
further conflicts with optionally installed files.
Where possible, version numbers in conflicts entries have been
generalized, some times taking advantage of the fact that a port
(Only the first 15 lines of the commit message are shown above )
INSTALLS_ICONS: retire the macro and rework the related dependencies
While here, make sure gtk-update-icon-cache is only on run dependency
where added as a dependency
Enforce gtk3 to depend on gtk-update-icon-cache (previously it was
inheriting the dependency)
graphics/darktable: bump PORTREVISION after fixes
Especially d8e040b64325 contains pkg-plist fixes, so
we need to make sure to flush out the original 3.6.0 packages.
Note for those triggering builds manually, there could be
another PORTREVISION bump due to (im)pending OpenEXR updates
within the next few hours.
Aligned with: Jean-Sébastien Pédron (dumbbell@, maintainer)
graphics/darktable: resolve G'Mic inconsistency
The build will automatically pick up G'Mic if available, leading
to inconsistent builds between systems. Make it an explicit OPTION
which defaults to off, since only the lut3d module uses it and only
to read .gmz G'Mic-compressed LUT files.
Approved by: Jean-Sébastien Pédron (dumbbell@, maintainer)
graphics/darktable: various build fixes for 3.6.0
- add missing LIB_DEPENDS on print/harfbuzz and devel/icu,
found missing by: make stage-qa
- make pkg-plist complete, misses some files,
found missing by: make check-plist
- disable LTO option for now (OPTIONS_EXCLUDE=LTO),
since the workaround for cmake 3.21 regressions around
static libraries (which darktable uses) is
USES=cmake:noninja - but the RawSpeed library
embedded into darktable requires ninja for LTO builds.
Approved by: Jean-Sébastien Pédron (dumbbell@, maintainer)
graphics/darktable: prepare for cmake-3.21 update
Fix build against cmake-3.21: the ninja generator in 3.21 suffers a regression
(see https://gitlab.kitware.com/cmake/cmake/-/issues/22487) appending an invalid
"-Wl,--no-as-needed" to the linker arguments for static libraries.
Once this regression has been fixed upstream, this can be switch back to
USES=cmake
PR: 257191
graphics/darktable: USES+=perl5
This is to make sure that PERL_LEVEL gets defined,
which in turn is needed to make sure that perl's Pod::Parser
gets defined if it is not part of the respective Perl version's install.
Approved by: (blanket, trivial tested build fix)
Error log in poudriere before patch:
[00:17:46] [ 97% 727/747] cd
/wrkdirs/usr/ports/graphics/darktable/work/darktable-3.4.1/doc/man && sh -c
/usr/local/bin/po4a-translate\ -f\ pod\ -m\ darktable-generate-cache.pod\ -p\
po/es.po\ -l\
/wrkdirs/usr/ports/graphics/darktable/work/.build/doc/man/es/darktable-generate-cache.pod\
-k\ 0
[00:17:46] FAILED: doc/man/es/darktable-generate-cache.pod
[00:17:46] cd /wrkdirs/usr/ports/graphics/darktable/work/darktable-3.4.1/doc/man
&& sh -c /usr/local/bin/po4a-translate\ -f\ pod\ -m\
darktable-generate-cache.pod\ -p\ po/es.po\ -l\
/wrkdirs/usr/ports/graphics/darktable/work/.build/doc/man/es/darktable-generate-cache.pod\
-k\ 0
[00:17:46] Unknown format type: pod.
[00:17:46] po4a::chooser: Module loading error: Can't locate Pod/Parser.pm in
@INC (you may need to install the Pod::Parser module) (@INC contains:
/usr/local/lib/perl5/site_perl/mach/5.32 /usr/local/lib/perl5/site_perl
/usr/local/lib/perl5/5.32/mach /usr/local/lib/perl5/5.32) at
/usr/local/lib/perl5/site_perl/Locale/Po4a/Pod.pm line 14.
[00:17:46] BEGIN failed--compilation aborted at
/usr/local/lib/perl5/site_perl/Locale/Po4a/Pod.pm line 14.
[00:17:46] Compilation failed in require at (eval 33) line 1.
[00:17:46] BEGIN failed--compilation aborted at (eval 33) line 1.
*: Bump PORTREVISION for openexr update
OpenEXR's patchlevel updated bumped the major version
of the OpenEXR library, hence bump PORTREVISION of all
ports that require OpenEXR.
graphics/mesa-libs: Bump reverse deps for libglvnd
Per discussion with bapt on helping pkg handle the changing of these
deps and avoiding impossible upgrade senarios.
PR: 246767
Reviewed by: manu, bapt
Approved by: x11
Differential Revision: https://reviews.freebsd.org/D30824
graphics/darktable: Fix OpenEXR detection
The patch comes from upstream:
https://github.com/darktable-org/darktable/pull/8775
It didn't make it to a release yet.
The package revision is bumped because the build succeeds but darktable
failed to run with the following error:
$ darktable --version
ld-elf.so.1: /usr/local/bin/../lib/darktable/libdarktable.so: Undefined
symbol "_ZTIN7Imf_3_09AttributeE"
With the patch:
$ darktable --version
this is darktable 3.4.1
...
PR: 255254
Reported by: Ludger Bolmerg <lbolmerg@posteo.de>,
Felix Palmen <felix@palmen-it.de>,
a.parseg@gmail.com
Obtained from: https://github.com/darktable-org/darktable/pull/8775
graphics/darktable: fix build on powerpc64le
Disable including gdkcolor.h because pixel is a type on POWER:
/usr/local/include/gtk-3.0/gdk/deprecated/gdkcolor.h:56:11: error: two or more
data types in declaration specifiers
56 | guint32 pixel;
Disable OpenCL:
/wrkdirs/usr/ports/graphics/darktable/work/darktable-3.4.1/data/kernels/bilateral.cl:67:17:
error: implicit declaration of function 'atom_add' is invalid in OpenCL
old_val.i = atom_add(ival, 0);
Approved by: tier 2 blanket
graphics/darktable: Add shells/bash as a build dependency
It has always been required, but was indirectly satisfied by security/p11-kit
which depended on shells/bash until yesterday.
This fixes the build of Darktable.
Submitted by: fluffy@
Reported by: fluffy@