Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
823d68a
Fix a typo in the URL of the TIFF Technical Notes
victoryforce May 27, 2025
5df8b07
We no longer use the INKSET tag, so there is no need to read it
victoryforce May 27, 2025
ae51c02
Remove period from description texts of some modules for consistency
victoryforce May 27, 2025
558608e
Add a blank line to separate sentences
victoryforce May 27, 2025
807b6f9
Merge pull request #18876 from ralfbrown/loadscreen2
TurboGit May 28, 2025
b793cdb
Merge pull request #18880 from victoryforce/TIFF-misc-maintenance
TurboGit May 28, 2025
070f380
Merge pull request #18881 from victoryforce/module-descriptions-remov…
TurboGit May 28, 2025
dedb4a6
Update darktable.pot for translators.
TurboGit May 28, 2025
15f16af
Update French translation.
TurboGit May 28, 2025
26ddebc
en@truecase update
victoryforce May 28, 2025
5d10011
Ukrainian translation update
victoryforce May 28, 2025
047aade
Update de.po
MStraeten May 28, 2025
5c248fa
Merge pull request #18889 from victoryforce/translations-250528
TurboGit May 28, 2025
393b14c
update translation zh_TW
HSUfineprint May 29, 2025
732a054
CMake: prioritize pkgconfig for libghpoto2 search
kmilos May 26, 2025
2fbf7c9
Use the grammatically correct variant of the indefinite article
victoryforce May 29, 2025
eaaa91f
Make the description one sentence and remove the final period
victoryforce May 29, 2025
0b293bf
We mean the camera maker, not the manufacturer
victoryforce May 29, 2025
47046e2
We mean the camera maker, not the manufacturer
victoryforce May 29, 2025
c4c978e
lua/preferences.c - Expanded width of input fields so that more
wpferguson May 28, 2025
aa58ed7
Merge pull request #18893 from victoryforce/sigmoid-module-descriptio…
TurboGit May 30, 2025
0898cee
Do not rely on dt_get_thread_num in colorin module
mayjs May 30, 2025
8df4253
Fixing darktable-cli crash #18863
jenshannoschwalm May 27, 2025
8956c16
Merge pull request #18847 from jenshannoschwalm/dead_crop_code
jenshannoschwalm May 30, 2025
8e50d51
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
c8629a4
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
605b8a3
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
9ca2dd8
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
652c416
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
9c6551a
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
2a12297
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
6ed3763
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
a6ad493
Break up a long description line to make the tooltip not so wide
victoryforce May 30, 2025
4fe60a0
Avoid faulty Ubuntu repo servers
victoryforce May 30, 2025
083f337
Merge pull request #18897 from victoryforce/camera-maker-not-manufact…
TurboGit May 31, 2025
0c139a7
Merge pull request #18899 from victoryforce/make-module-tooltips-narr…
TurboGit May 31, 2025
43db943
A more accurate name for the module (no imports here)
victoryforce May 31, 2025
bc55f48
A more accurate module description
victoryforce May 31, 2025
cc3234e
Merge pull request #18904 from victoryforce/fix-raster-masks-module-n…
TurboGit Jun 1, 2025
291ec13
Use a more suitable verb
victoryforce May 30, 2025
3c909c2
Update darktable.pot for translators.
TurboGit Jun 1, 2025
aeeef3f
Update French translation.
TurboGit Jun 1, 2025
731768f
en@truecase update
victoryforce Jun 1, 2025
48486b7
Ensure dynamic omp threads to be FALSE
jenshannoschwalm May 31, 2025
10ca3e7
Ukrainian translation update
victoryforce Jun 1, 2025
4fda86c
Merge pull request #18905 from victoryforce/translations-250601
TurboGit Jun 1, 2025
554ae3b
Updates to pt_BR
jpellegrini May 28, 2025
a836f2f
Updated Albanian translation
bgodole Jun 1, 2025
b6723b2
Updated Finnish translation
vertama Jun 1, 2025
0b50c46
Update de.po for string freeze
MStraeten Jun 1, 2025
457caec
update translation zh_TW
HSUfineprint Jun 2, 2025
2aafbbb
RawSpeed submodule update
LebedevRI Jun 2, 2025
6d08768
Bump dawidd6/action-download-artifact from 9 to 10
dependabot[bot] Jun 2, 2025
231990f
Add noise profiles for S1RM2.
jdneumeyer77 May 7, 2025
bc62056
Add noise profiles for Lumix DC-S9.
sarunasb Sep 10, 2024
91b3958
Add white balance presets for Panasonic Lumix DC-S9 (#17459)
sarunasb Jun 3, 2025
c837854
Update Slovenian translation.
matjazjeran Jun 4, 2025
14f2746
Make the dropdown menu insensitive when empty
victoryforce Jun 1, 2025
4f71055
add Sony ILCE-1M2 noise profiles
zechenturm May 20, 2025
539be7d
Bump LLVM toolchain version to 20 in CI
victoryforce Jun 5, 2025
fa712dc
zh_CN.po: update translations
cthbleachbit Jun 5, 2025
4d83fc1
Update Dutch translation.
RIMhosting Jun 5, 2025
4608f77
Update ja.po (#18925)
shinoryo1216 Jun 5, 2025
9d7ab0e
Fix rawdenoise for gcc 15
jenshannoschwalm Jun 4, 2025
3002188
Update hu.po
osiixy Jun 8, 2025
71fa320
Fix xtrans demosaicers pushing NaN to the pipe
jenshannoschwalm Jun 7, 2025
57c23e4
RELEASE_NOTES.md: demosaicers NaN.
TurboGit Jun 8, 2025
952d604
Fix a xtrans demosaicer typo regression
jenshannoschwalm Jun 8, 2025
49f506a
Update integration test sub-module.
TurboGit Jun 9, 2025
6a2500d
Update es.po
EdgarLux Jun 9, 2025
8e89873
Updates to pt_BR
jpellegrini Jun 9, 2025
a4f861a
Handle warnings and errors also when trying to read a profile
victoryforce Jun 9, 2025
d43da80
Remove leftover debug code from rasterfile
jenshannoschwalm Jun 10, 2025
d0455fa
Replace dt_opencl_read_host_from_device() by dt_opencl_copy_device_to…
jenshannoschwalm Jun 7, 2025
e316863
Fix variance calculation for segmentation
jenshannoschwalm Jun 11, 2025
9c9f556
Fix inaccuracy of debug log message in GM loader
victoryforce Jun 9, 2025
a59635f
Update Italian translation
eliadevito Jun 12, 2025
855896b
RELEASE_NOTES.md: Minor edit.
TurboGit Jun 13, 2025
76dcc91
overlay: Reprocess the center area when module are reordered.
TurboGit Jun 13, 2025
a7f58fa
Merge pull request #18950 from victoryforce/tiff-loader-avoid-crash
TurboGit Jun 14, 2025
f7da3ef
Update Russian translation.
Jun 14, 2025
b65f048
RawSpeed submodule update
LebedevRI Jun 15, 2025
56bd707
Update es.po (#18952)
EdgarLux Jun 15, 2025
d6a2ccd
Update cs.po
jsmucr May 14, 2025
73f8033
LibRaw submodule update
kmilos Jun 10, 2025
5ec4c53
Update relnotes for camera support
kmilos May 27, 2025
f411919
Add entry for 5.2.0 to appdata
victoryforce Jun 15, 2025
f9f5600
Prepare release 5.2
TurboGit Jun 15, 2025
1c0ffe4
Delete the statement that is not yet valid
victoryforce Jun 15, 2025
49b244a
Add proper escaping
victoryforce Jun 15, 2025
f3f2e5e
Add information about fixes in TIFF loader
victoryforce Jun 15, 2025
e810667
Bump dawidd6/action-download-artifact from 10 to 11
dependabot[bot] Jun 17, 2025
d2f15c8
Minor code clean-up and reformatting.
TurboGit Jun 17, 2025
7771198
Update pl.po
bajdero Jun 18, 2025
335dd67
Minor reformatting.
TurboGit May 30, 2025
593a16d
Updates to pt_BR
jpellegrini Jun 20, 2025
b4e8141
Fix memory leak when using dt_util_localize_segmented_name.
TurboGit Jun 17, 2025
dd5e980
snapshots: Ensure the entry fill all the widget while editing.
TurboGit Jun 17, 2025
9fdc599
Properly localize the segmented snapshot's label.
TurboGit Jun 17, 2025
cf3e972
Merge branch 'po/fix-mem-leak'
TurboGit Jun 21, 2025
fdd1d4b
paths: Use SHIFT modifier to select only feather points.
TurboGit May 30, 2025
9cf4df5
add busy indicators for applying GPX files
ralfbrown Jun 23, 2025
163573a
use full metadata tag name for variable substitution
zisoft Jun 23, 2025
2805921
Build older exiv2 in Windows nightly
victoryforce Jun 23, 2025
c7c2543
Add Exiv2 version to compile options display
victoryforce Jun 23, 2025
f0339e4
Escape the path that we pass to the SQLite query
victoryforce Jun 24, 2025
8ca7a39
Updates to pt_BR
jpellegrini Jun 25, 2025
d4b81a0
Update it.po
eliadevito Jun 25, 2025
80ac078
Update README for 5.2.0 release
victoryforce Jun 25, 2025
b2e9069
Fix typos
victoryforce Jun 25, 2025
eba1876
Add Lensfun version to compile options display
victoryforce Jun 25, 2025
16aa6a5
Fix compilation when OpenMP is disabled.
TurboGit Jun 27, 2025
51ab8b2
reset window placement if last position is out of available display s…
MStraeten Jun 27, 2025
ab60bc5
fix screen dpi setting has no effect
zisoft Jun 27, 2025
c5205b1
Update integration test sub-module (new lut3d tests).
TurboGit Jul 4, 2025
4dcd0aa
Silence libheif warnings
victoryforce Jul 3, 2025
b67d715
Rawoverexposed CL fix and maintenance
jenshannoschwalm Jul 3, 2025
2e06432
Don't ignore .tiff extension of raw files from early Canon cameras
victoryforce Jul 6, 2025
378affb
changed camera type "GFX 100"
sengebusch Jul 7, 2025
4ca5775
Change the return code when the file cannot be recognized as raw
victoryforce Jul 7, 2025
465b840
changed camera type from GFX100 to GXF 100
sengebusch Jul 8, 2025
156b184
Two rawprepare OpenCL fixes
jenshannoschwalm Jul 3, 2025
8303730
changed camera type "GFX 100"
sengebusch Jul 7, 2025
1bef706
changed camera type from GFX100 to GXF 100
sengebusch Jul 8, 2025
93638c9
Merge pull request #19055 from victoryforce/fix-19046
TurboGit Jul 9, 2025
c58e105
Normalize filename while adding to the drop-down menu widget
victoryforce Jul 1, 2025
5d7ea50
Normalize filename before opening
victoryforce Jul 1, 2025
42123c5
Reformatted old and added new messages to the debug log about error s…
victoryforce Jul 9, 2025
d5ab27c
Minor code reformatting
victoryforce Jul 9, 2025
fb6e463
Merge pull request #19063 from victoryforce/fix-rasterfile-module-issue
TurboGit Jul 11, 2025
3e401e7
Some maintenance in imageio headers
victoryforce Jul 11, 2025
6d7beed
Replace include guard with pragma once
victoryforce Jul 12, 2025
1c24172
Code reformatting
victoryforce Jul 12, 2025
f91d2b0
Remove 'zero width space' Unicode characters from the comment
victoryforce Jul 12, 2025
b342406
Hand over paletted TIFF to fallback loader
victoryforce Jun 29, 2025
227c213
Unsupported format features are not an error, we just hand over to th…
victoryforce Jul 13, 2025
872e4b8
Fix liquify OpenCL code
jenshannoschwalm Jul 12, 2025
339ac7f
Demosaic maintenance, fast-math
jenshannoschwalm Jul 8, 2025
b4c4e54
Color equalizer picker issue
jenshannoschwalm Jun 29, 2025
c3e89f0
Merge pull request #19089 from victoryforce/hand-over-palette-tiff-to…
TurboGit Jul 18, 2025
69077b9
OPENMP and __GNUC__ compiler safety and performance
jenshannoschwalm Jun 29, 2025
cfe80b5
Added degrees <-> radians conversion functions to common/math.h
kofa73 Jul 12, 2025
194463e
Updated conversions in dtgtk/paint.c
kofa73 Jul 12, 2025
2c787df
Updated conversions in chart/deltaE.c
kofa73 Jul 12, 2025
51e2227
Updated conversions in common/gpx.c
kofa73 Jul 12, 2025
e9a7f30
Replaced pi with M_PI_F in chart/thinplate.c
kofa73 Jul 12, 2025
8f5ffa2
Replaced conversions in develop/masks/ellipse.c
kofa73 Jul 12, 2025
e97940a
Replaced conversions in develop/masks/gradient.c
kofa73 Jul 12, 2025
dbd138c
Added conversion factors to common/math.h
kofa73 Jul 12, 2025
6aa83d1
Minor conversion changes in iop/sigmoid.c
kofa73 Jul 12, 2025
7287a6d
Minor conversion change in develop/lightroom.c
kofa73 Jul 12, 2025
b030592
Minor conversion change in iop/primaries.c
kofa73 Jul 12, 2025
14ac1c6
Minor conversion change in iop/overlay.c
kofa73 Jul 12, 2025
6c3894c
Conversion and related changes in iop/graduatednd.c
kofa73 Jul 12, 2025
2e7e68d
Restored '3.145 / 180' conversions in paint.c, looks intentional.
kofa73 Jul 13, 2025
30c7a9e
Updated conversions on iop/ashift.c
kofa73 Jul 13, 2025
0c593fa
Updated conversions on gui/guides.c
kofa73 Jul 13, 2025
898646a
Updated conversions on iop/ashift_lsd.c
kofa73 Jul 13, 2025
7d1e976
Updated conversions on iop/blurs.c
kofa73 Jul 13, 2025
e75d743
Updated conversions in gui/gtk.c
kofa73 Jul 13, 2025
0f99fa0
Made new constant + functions static in common/math.h
kofa73 Jul 13, 2025
ada8495
Restoring imports in gui/gtk.c (OSX build fails)
kofa73 Jul 13, 2025
f1c6a18
Updated conversions in iop/channelmixerrgb.c
kofa73 Jul 13, 2025
5241dd0
Updated conversions in iop/clipping.c
kofa73 Jul 13, 2025
a1b12f5
Updated conversions in iop/colorbalancergb.c
kofa73 Jul 13, 2025
bf5a79d
Updated conversions in libs/histogram.c
kofa73 Jul 13, 2025
d8a149e
Updated the rest of the conversions
kofa73 Jul 13, 2025
bec3226
Copyright year updates
kofa73 Jul 13, 2025
296f81d
Fixed comment inconsistency
kofa73 Jul 13, 2025
bb93b7c
Fixed old colorbalancergb migration code: in v1 -> v2, saturation_glo…
kofa73 Jul 16, 2025
8777476
ashift.c const clean-up
kofa73 Jul 19, 2025
7d8f667
deltaE.c const clean-up
kofa73 Jul 19, 2025
9b6c083
Replaced 'n * degrees' with 'deg2rad(n)'
kofa73 Jul 19, 2025
ff4998c
Replaced deg2rad conversions of 0, 90, 180, 270, 360 degrees with con…
kofa73 Jul 19, 2025
b124ba0
Replace M_PI divisions with <math.h> constants
kofa73 Jul 19, 2025
2754780
Const cleanup in src/chart/thinplate.c
kofa73 Jul 19, 2025
727ed8e
Const cleanup in src/common/gpx.c+h
kofa73 Jul 19, 2025
b0aa201
Const cleanup in src/common/math.h
kofa73 Jul 19, 2025
61c2720
Const cleanup in src/develop/lightroom.c
kofa73 Jul 19, 2025
45062ae
Const cleanup in src/develop/masks/ellipse.c
kofa73 Jul 19, 2025
b18d8af
Const cleanup in src/develop/masks/gradient.c
kofa73 Jul 19, 2025
b205066
Const cleanup in src/develop/masks/masks.c,src/develop/masks.h
kofa73 Jul 19, 2025
589a8e2
Const cleanup in src/dtgtk/paint.c
kofa73 Jul 19, 2025
f41af46
Const cleanup in src/gui/gtk.c+h
kofa73 Jul 19, 2025
cd109d9
Const cleanup in src/gui/guides.c+h
kofa73 Jul 19, 2025
d158929
Const cleanup in src/iop/ashift.c
kofa73 Jul 19, 2025
22788db
Const cleanup in src/iop/ashift_lsd.c
kofa73 Jul 19, 2025
ec85e49
Const cleanup in src/iop/blurs.c
kofa73 Jul 19, 2025
43cfdd3
Const cleanup in src/iop/channelmixerrgb.c
kofa73 Jul 19, 2025
b8eae81
Const cleanup in src/iop/clipping.c
kofa73 Jul 19, 2025
230a73b
Const cleanup in src/iop/colorbalancergb.c
kofa73 Jul 19, 2025
8371bae
Const cleanup in src/iop/colorequal.c
kofa73 Jul 19, 2025
3dba9d6
Const cleanup in src/iop/filmicrgb.c
kofa73 Jul 19, 2025
9ea60a1
Const cleanup in src/iop/graduatednd.c
kofa73 Jul 19, 2025
a3a025e
Const cleanup in src/iop/liquify.c
kofa73 Jul 19, 2025
74b273a
Const cleanup in src/iop/overlay.c
kofa73 Jul 19, 2025
fb4732e
Const cleanup in src/iop/primaries.c
kofa73 Jul 19, 2025
38bf82a
Const cleanup in src/iop/rotatepixels.c
kofa73 Jul 19, 2025
2f25b90
Const cleanup in src/iop/sigmoid.c
kofa73 Jul 19, 2025
c2239f7
Const cleanup in src/iop/toneequal.c
kofa73 Jul 19, 2025
88be97d
Const cleanup in src/iop/watermark.c
kofa73 Jul 19, 2025
9e18df9
Const cleanup in src/libs/histogram.c
kofa73 Jul 19, 2025
cea5215
Const cleanup in src/libs/histogram.c
kofa73 Jul 19, 2025
8203ab0
Merge pull request #19077 from kofa73/deg2rad
TurboGit Jul 21, 2025
e03150c
refactor dt_control_job_set_progress_message
dterrahe Jun 23, 2025
e6157d9
Protection against corrupted profile
victoryforce Jun 13, 2025
83ae656
Remove the prototype of a function that no longer exists
victoryforce Jul 10, 2025
cc96f55
Hide rotate pixels module in the modules panel
victoryforce Jun 5, 2025
624356d
Remove all GUI related code
victoryforce Jun 5, 2025
790366f
Merge pull request #19072 from victoryforce/maintenance-250711
TurboGit Jul 21, 2025
0afa89b
lut3d: code cleanup and optimization
ralfbrown Nov 18, 2024
e5d31cd
Merge pull request #18896 from darktable-org/po/sel-mask-feather
TurboGit Jul 21, 2025
0bbb240
RELEASE_NOTES.md: lut3d perf, select feather nodes.
TurboGit Jul 21, 2025
8edd266
Update the single-header QOI format implementation code in our source…
victoryforce Jun 1, 2025
01562b2
OPENMP compiler math
jenshannoschwalm Jul 20, 2025
73764da
We should check not for the exact 0.3.95, but also for later versions
victoryforce Jul 18, 2025
046555e
Fix non-raw OpenCL rastermask code path
jenshannoschwalm Jun 29, 2025
a7f26e7
fix scaling being read during running export job
zisoft Jun 11, 2025
61005c8
RELEASE_NOTES.md: export and scaling change.
TurboGit Jul 22, 2025
4fad4a0
dt_dev_get_zoom_scale() maintenance
jenshannoschwalm Jul 11, 2025
4f1a423
ko_kr translation
hwan-ajou Jul 24, 2025
1075deb
Add support for ko_KR (Korean).
TurboGit Jul 24, 2025
a64f710
Implement capture sharpening inside demosaic module
jenshannoschwalm Jul 25, 2025
c24fd9a
Introduce OpenCL and use clipf()
jenshannoschwalm Jul 25, 2025
1c91139
Merge pull request #18909 from jenshannoschwalm/demosaic_sharpen
TurboGit Jul 26, 2025
84c47cc
RELEASE_NOTES.md: capture sharpening.
TurboGit Jul 26, 2025
6c72f3a
Add Noiseprofile for Fujifilm GFX100S II (#19121)
mckajvah Jul 26, 2025
15257aa
Demosaic maintenance 5.4-1
jenshannoschwalm Jul 8, 2025
c1071cf
Demosaic maintenance 5.4-2 (performance)
jenshannoschwalm Jul 8, 2025
f10cc14
Demosaic maintenance 5.4-3 (full checks)
jenshannoschwalm Jul 8, 2025
4fb1e47
snapshots: eliminate unnecessary redraws
ralfbrown Jul 25, 2025
cd4c323
Ensure completely filled darkroom canvas
jenshannoschwalm Jul 26, 2025
c83eb31
RELEASE_NOTES.md: Fill all darkroom canvas.
TurboGit Jul 26, 2025
f4b83eb
Merge branch 'demosaic_54_firstbunch' of https://github.com/jenshanno…
TurboGit Jul 26, 2025
1e47fed
Update integration test sub-module.
TurboGit Jul 26, 2025
bc6372d
Update integration test sub-module.
TurboGit Jul 27, 2025
ea5e8a5
snapshot: properly light-up rotation symbol when close.
TurboGit Jul 26, 2025
3ce5016
Add Panasonic Lumix S5IIX (DC-S5M2X) noise profiles
opcod3 Jul 26, 2025
0ce03cf
Converting line endings from DOS to Unix-style
victoryforce Jul 26, 2025
a43cb2a
POTFILES.in: Add capture.c
TurboGit Jul 28, 2025
31b704d
Update darktable.pot for translators.
TurboGit Jul 28, 2025
6170f77
Update French translation.
TurboGit Jul 28, 2025
6c5eacc
Update darktable.pot for translators.
TurboGit Jul 28, 2025
efbb911
demosaic: Fix some strings.
TurboGit Jul 28, 2025
b85f456
Update darktable.pot for translators.
TurboGit Jul 28, 2025
70c2754
Update French translation.
TurboGit Jul 28, 2025
7b69b1f
added create of mean image and dark frame subtraction
sengebusch Jul 28, 2025
bb07ee0
Merge branch 'master' of https://github.com/sengebusch/darktable
sengebusch Jul 28, 2025
69e56c1
added create of mean image and dark frame subtraction
sengebusch Jul 28, 2025
005ac39
fixed added create of mean image and dark frame subtraction
sengebusch Jul 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 55 additions & 0 deletions .ci/Brewfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
# This file is part of darktable.
# Copyright (C) 2016-2024 darktable developers.
#
# darktable is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# darktable is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with darktable. If not, see <http://www.gnu.org/licenses/>.

brew 'coreutils'
brew 'cmake'
brew 'pkg-config'
brew 'adwaita-icon-theme'
brew 'desktop-file-utils'
brew 'exiv2'
brew 'gettext'
brew 'git'
brew 'glib'
brew 'gmic'
brew 'gphoto2'
brew 'gtk+3'
brew 'gtk-mac-integration'
brew 'icu4c'
brew 'imagemagick'
brew 'intltool'
brew 'iso-codes'
brew 'jpeg-turbo'
brew 'jpeg-xl'
brew 'json-glib'
brew 'lensfun'
brew 'libavif'
brew 'libheif'
brew 'libraw'
brew 'librsvg'
brew 'libsecret'
brew 'little-cms2'
brew 'lua'
brew 'libomp'
brew 'ninja'
brew 'openexr'
brew 'openjpeg'
brew 'osm-gps-map'
brew 'portmidi'
brew 'pugixml'
brew 'sdl2'
brew 'curl'
brew 'perl'
brew 'webp'
134 changes: 134 additions & 0 deletions .ci/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
# This file is part of darktable.
# copyright (c) 2016-2020 Roman Lebedev.
#
# darktable is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# darktable is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with darktable. If not, see <http://www.gnu.org/licenses/>.

# docker build -t darktable/darktable .

# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
# !!! hub.docker.com will not auto-rebuild the image !!!
# !!! after making changes here, or if you just want to manually refresh !!!
# !!! the image, you need to go to: !!!
# https://hub.docker.com/r/darktable/darktable/~/settings/automated-builds/ !!!
# !!! and press the "Trigger" button. !!!
# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! WARNING !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

FROM debian:testing
MAINTAINER Roman Lebedev <[email protected]>

# needed at least for python-based jsonschema :(
# see https://github.com/Julian/jsonschema/issues/299
# and https://github.com/docker-library/python/issues/13
ENV LANG C.UTF-8
ENV LC_ALL C.UTF-8
ENV LC_MESSAGES C.UTF-8
ENV LANGUAGE C.UTF-8

ENV DEBIAN_FRONTEND noninteractive

# Paper over occasional network flakiness of some mirrors.
RUN echo 'Acquire::Retries "10";' > /etc/apt/apt.conf.d/80retry

# Do not install recommended packages
RUN echo 'APT::Install-Recommends "false";' > /etc/apt/apt.conf.d/80recommends

# Do not install suggested packages
RUN echo 'APT::Install-Suggests "false";' > /etc/apt/apt.conf.d/80suggests

# Assume yes
RUN echo 'APT::Get::Assume-Yes "true";' > /etc/apt/apt.conf.d/80forceyes

# Fix broken packages
RUN echo 'APT::Get::Fix-Missing "true";' > /etc/apt/apt.conf.d/80fixmissin

ENV GCC_VER=9
ENV LLVM_VER=10

# pls keep sorted :)
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
apt-get install \
appstream-util \
clang-$LLVM_VER \
cmake \
desktop-file-utils \
g++-$GCC_VER \
gcc-$GCC_VER \
gettext \
git \
intltool \
libatk1.0-dev \
libc++-$LLVM_VER-dev \
libcairo2-dev \
libcolord-dev \
libcolord-gtk-dev \
libcmocka-dev \
libcups2-dev \
libcurl4-gnutls-dev \
libexiv2-dev \
libgdk-pixbuf2.0-dev \
libglib2.0-dev \
libgphoto2-dev \
libgraphicsmagick1-dev \
libgtk-3-dev \
libheif-dev \
libjpeg-dev \
libjson-glib-dev \
liblcms2-dev \
liblensfun-dev \
liblua5.2-dev \
liblua5.3-dev \
libomp-$LLVM_VER-dev \
libopenexr-dev \
libopenjp2-7-dev \
libosmgpsmap-1.0-dev \
libpango1.0-dev \
libpng-dev \
libpugixml-dev \
librsvg2-dev \
libsaxon-java \
libsecret-1-dev \
libsqlite3-dev \
libtiff5-dev \
libwebp-dev \
libx11-dev \
libxml2-dev \
libxml2-utils \
make \
ninja-build \
perl \
po4a \
python3-jsonschema \
xsltproc \
zlib1g-dev && \
apt-get clean && rm -rf /var/lib/apt/lists/*

# i'd like to explicitly use ld.gold
# while it may be just immeasurably faster, it is known to cause more issues
# than traditional ld.bfd; plus, at this time, ld.gold seems like the future.
RUN dpkg-divert --add --rename --divert /usr/bin/ld.original /usr/bin/ld && \
ln -s /usr/bin/ld.gold /usr/bin/ld

# optional: opencl kernels test-compilation
# pls keep sorted :)
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
apt-get install clang-$LLVM_VER libclang-common-$LLVM_VER-dev \
llvm-$LLVM_VER-dev && \
apt-get clean && rm -rf /var/lib/apt/lists/*

# optional: usermanual deps
# pls keep sorted :)
RUN rm -rf /var/lib/apt/lists/* && apt-get update && \
apt-get install default-jdk-headless default-jre-headless docbook \
docbook-xml docbook-xsl docbook-xsl-saxon fop gnome-doc-utils imagemagick \
libsaxon-java xsltproc && apt-get clean && rm -rf /var/lib/apt/lists/*
102 changes: 102 additions & 0 deletions .ci/ci-script.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#!/bin/bash

# This file is part of darktable.
# Copyright (C) 2016-2024 darktable developers.
#
# darktable is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# darktable is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with darktable. If not, see <http://www.gnu.org/licenses/>.

# This script is supposed to be run by Travis CI or GitHub workflow.
# It expects a few env variables to be set:
# BUILD_DIR - the working directory where the program will be built
# INSTALL_DIR - the installation prefix
# SRC_DIR - directory with the source code to be compiled
# CC, CXX, CFLAGS, CXXFLAGS are optional, but make sense for build
# TARGET - either build or skiptest
# ECO - some other flags for cmake

set -ex

if [ "$GENERATOR" = "Ninja" ];
then
VERBOSE="-v"
KEEPGOING="-k0"
JOBS=""
fi;

if [ "$GENERATOR" = "Unix Makefiles" ];
then
VERBOSE="VERBOSE=1";
KEEPGOING="-k"
JOBS="-j2"
fi;

if [ "$GENERATOR" = "MSYS Makefiles" ];
then
VERBOSE="VERBOSE=1";
KEEPGOING="-k"
JOBS="-j2"
fi;

target_build()
{
cmake --build "$BUILD_DIR" -- $JOBS "$VERBOSE" "$KEEPGOING"

ctest --output-on-failure || ctest --rerun-failed -V -VV

cmake --build "$BUILD_DIR" --target install -- $JOBS "$VERBOSE" "$KEEPGOING"
}

target_notest()
{
cmake --build "$BUILD_DIR" -- $JOBS "$VERBOSE" "$KEEPGOING"

cmake --build "$BUILD_DIR" --target install -- $JOBS "$VERBOSE" "$KEEPGOING"
}

diskspace()
{
df
du -hcs "$SRC_DIR"
du -hcs "$BUILD_DIR"
du -hcs "$INSTALL_PREFIX"
}

diskspace

cd "$BUILD_DIR"

case "$TARGET" in
"build")
cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX" \
-G"$GENERATOR" \
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
-DVALIDATE_APPDATA_FILE=ON \
-DBUILD_TESTING=ON \
-DTESTBUILD_OPENCL_PROGRAMS=ON \
$ECO "$SRC_DIR" || (cat "$BUILD_DIR"/CMakeFiles/CMakeOutput.log; cat "$BUILD_DIR"/CMakeFiles/CMakeError.log)
target_build
;;
"skiptest")
cmake -DCMAKE_INSTALL_PREFIX="$INSTALL_PREFIX" \
-G"$GENERATOR" \
-DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \
$ECO "$SRC_DIR" || (cat "$BUILD_DIR"/CMakeFiles/CMakeOutput.log; cat "$BUILD_DIR"/CMakeFiles/CMakeError.log)
target_notest
;;
*)
exit 1
;;
esac

diskspace
10 changes: 10 additions & 0 deletions .ci/obs-workflows.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
master:
steps:
- trigger_services:
project: graphics:darktable:master
package: darktable
filters:
event: push
branches:
only:
- master
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
docker-images
.git
3 changes: 3 additions & 0 deletions .githooks/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
To activate:

$ git config core.hooksPath .githooks
35 changes: 35 additions & 0 deletions .githooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

# Hash using its key as a search Regex, and its value as associated
# error message.

declare -A PATTERNS;
PATTERNS['src/external/rawspeed']="use --no-verify to change rawspeed";
PATTERNS['src/external/OpenCL']="use --no-verify to change OpenCL";
PATTERNS['src/external/libxcf']="use --no-verify to change libxcf";
PATTERNS['src/external/whereami']="use --no-verify to change whereami";
PATTERNS['src/tests/integration']="use --no-verify to change integration";

# Loop over staged files and check for any specific pattern listed in
# PATTERNS keys.
# Filter only added (A), copied (C), modified (M) files

declare -a errors

for file in $(git diff --staged --name-only --diff-filter=ACM --no-color); do
for elem in ${!PATTERNS[*]} ; do
if [ -n "${PATTERNS[${file}]}" ]; then
errors+=("${PATTERNS[${file}]}")
fi
done
done

# Print errors
for error in "${errors[@]}"; do
echo -e "\033[1;31m${error}\033[0m"
done

# If there is any error, then stop commit creation
if [ ${#errors[@]} -ne 0 ]; then
exit 1
fi
2 changes: 2 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
rawspeed/ @LebedevRI
*rawspeed* @LebedevRI
Loading