summarylogtreecommitdiffstats
path: root/PKGBUILD
blob: 0b283b525cb3584378513337cad3465632a26b87 (plain)
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
# Maintainer: Alynx Zhou <alynx.zhou@gmail.com>
_pkgname=ansel
pkgname="${_pkgname}-git"
pkgver=0.0.0.r748.g61eb38876
pkgrel=1
pkgdesc="Ansel is an open-source photo-editing software for digital artists, designed to help you achieve your own interpretation of raw digital photographs."
arch=("i686" "x86_64")
url="https://ansel.photos/"
license=("GPL3")
depends=(
  "pugixml" "libjpeg-turbo" "colord-gtk" "openexr" "lensfun" "iso-codes" "zlib"
  "exiv2" "flickcurl" "openjpeg2" "graphicsmagick" "lua" "osm-gps-map"
  "libsecret" "openmp" "gmic" "libavif" "libheif" "jasper" "libjxl" "libraw"
  "libwebp"
)
optdepends=(
  "dcraw: base curve script"
  "perl-image-exiftool: base curve script"
  "imagemagick: base curve and noise profile scripts"
  "ghostscript: noise profile script"
  "portmidi: game and midi controller input devices"
  "gnuplot: noise profile script"
)
makedepends=(
  "git" "cmake" "intltool" "desktop-file-utils" "llvm" "clang" "portmidi"
  "python-jsonschema"
)
conflicts=("ansel")
provides=("ansel")
options=("!emptydirs" "!libtool")
source=(
  "git+https://github.com/aurelienpierreeng/ansel.git"
  "git+https://github.com/darktable-org/rawspeed.git"
  "git+https://github.com/KhronosGroup/OpenCL-Headers.git"
  "git+https://github.com/houz/libxcf.git"
  "git+https://github.com/gpakosz/whereami.git"
)
sha512sums=(
  "SKIP"
  "SKIP"
  "SKIP"
  "SKIP"
  "SKIP"
)

pkgver() {
  cd "${_pkgname}"

  tools/get_git_version_string.sh | sed "s/+/.r/;s/~/./;s/-dirty//"
}

prepare() {
  cd "${_pkgname}"

  git submodule init
  git config submodule.src/external/rawspeed.url "${srcdir}/rawspeed"
  git config submodule.src/external/OpenCL.url "${srcdir}/OpenCL-Headers"
  git config submodule.src/external/libxcf.url "${srcdir}/libxcf"
  git config submodule.src/external/whereami.url "${srcdir}/whereami"
  # It looks like integration tests are already removed for ansel.
  # git config submodule.src/tests/integration.update none
  # We will use system LibRaw so don't update this submodule.
  git config submodule.src/external/LibRaw.update none
  git -c protocol.file.allow=always submodule update --recursive
}

build() {
  cd "${_pkgname}"

  # Don't use absolute path for install dirs, CMake expects relative path to
  # prefix and absolute path breaks RPATH, though we don't need RPATH because we
  # are installing to system library dirs and
  # <https://github.com/aurelienpierreeng/ansel/pull/258> gets merged.
  cmake -B build \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_INSTALL_LIBDIR=lib \
        -DCMAKE_INSTALL_LIBEXECDIR=lib \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_SKIP_RPATH=ON \
        -DBINARY_PACKAGE_BUILD=ON \
        -DUSE_LIBSECRET=ON \
        -DUSE_LUA=ON \
        -DUSE_BUNDLED_LUA=OFF \
        -DUSE_LIBRAW=ON \
        -DUSE_BUNDLED_LIBRAW=OFF \
        -DUSE_COLORD=ON \
        -DBUILD_CURVE_TOOLS=ON \
        -DBUILD_NOISE_TOOLS=ON \
        -DRAWSPEED_ENABLE_LTO=ON

  cmake --build build
}

package() {
  cd "${_pkgname}"

  DESTDIR="${pkgdir}" cmake --install build
}