1
1
# Adapted from upstream:
2
2
# https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-imagemagick
3
3
4
+ # Maintainer: Alexey Pavlov <[email protected] >
5
+
4
6
_realname=imagemagick
5
7
pkgbase=" mingw-w64-${_realname} "
6
- pkgname=" ${MINGW_PACKAGE_PREFIX} -${_realname} "
7
- pkgver=7.9000
8
+ pkgname=(" ${MINGW_PACKAGE_PREFIX} -${_realname} "
9
+ " ${MINGW_PACKAGE_PREFIX} -${_realname} -docs" )
10
+ _basever=7.1.1
11
+ _rc=-47
12
+ pkgver=${_basever}${_rc// -/ .} # pkgver doesn't have "," "/", "-" and space.
8
13
pkgrel=1
9
14
pkgdesc=" An image viewing/manipulation program (mingw-w64)"
10
15
arch=(' any' )
11
- mingw_arch=(' mingw32 ' ' mingw64' ' ucrt64' ' clang64' )
16
+ mingw_arch=(' mingw64' ' ucrt64' ' clang64' ' clangarm64 ' )
12
17
url=" https://www.imagemagick.org/"
13
- license=(" custom" )
14
- makedepends=(" ${MINGW_PACKAGE_PREFIX} -cairo"
15
- " ${MINGW_PACKAGE_PREFIX} -cc"
18
+ msys2_repository_url=" https://github.com/ImageMagick/ImageMagick"
19
+ msys2_references=(
20
+ ' archlinux: imagemagick'
21
+ ' aur: imagemagick-full'
22
+ ' cygwin: ImageMagick'
23
+ ' gentoo: media-gfx/imagemagick'
24
+ ' cpe: cpe:/a:imagemagick:imagemagick'
25
+ )
26
+ license=(" spdx:ImageMagick" )
27
+ makedepends=(" ${MINGW_PACKAGE_PREFIX} -cc"
28
+ " ${MINGW_PACKAGE_PREFIX} -autotools"
29
+ " ${MINGW_PACKAGE_PREFIX} -pkgconf"
30
+ " ${MINGW_PACKAGE_PREFIX} -cairo"
16
31
" ${MINGW_PACKAGE_PREFIX} -ghostscript"
17
32
" ${MINGW_PACKAGE_PREFIX} -graphviz"
18
33
" ${MINGW_PACKAGE_PREFIX} -libjxl"
19
34
" ${MINGW_PACKAGE_PREFIX} -librsvg"
35
+ " ${MINGW_PACKAGE_PREFIX} -libultrahdr"
20
36
" ${MINGW_PACKAGE_PREFIX} -libxml2"
21
37
" ${MINGW_PACKAGE_PREFIX} -openexr"
22
- " ${MINGW_PACKAGE_PREFIX} -pango"
23
- " ${MINGW_PACKAGE_PREFIX} -autotools"
24
- " ${MINGW_PACKAGE_PREFIX} -pkg-config"
25
- " git" )
38
+ " ${MINGW_PACKAGE_PREFIX} -pango" )
26
39
depends=(" ${MINGW_PACKAGE_PREFIX} -bzip2"
27
40
" ${MINGW_PACKAGE_PREFIX} -djvulibre"
28
41
" ${MINGW_PACKAGE_PREFIX} -flif"
@@ -40,39 +53,79 @@ depends=("${MINGW_PACKAGE_PREFIX}-bzip2"
40
53
" ${MINGW_PACKAGE_PREFIX} -libraqm"
41
54
" ${MINGW_PACKAGE_PREFIX} -libraw"
42
55
" ${MINGW_PACKAGE_PREFIX} -libtiff"
43
- " ${MINGW_PACKAGE_PREFIX} -libtool "
56
+ " ${MINGW_PACKAGE_PREFIX} -libltdl "
44
57
" ${MINGW_PACKAGE_PREFIX} -libwebp"
58
+ " ${MINGW_PACKAGE_PREFIX} -libwinpthread"
45
59
" ${MINGW_PACKAGE_PREFIX} -libwmf"
46
60
" ${MINGW_PACKAGE_PREFIX} -libxml2"
61
+ " ${MINGW_PACKAGE_PREFIX} -omp"
47
62
" ${MINGW_PACKAGE_PREFIX} -openjpeg2"
63
+ # "${MINGW_PACKAGE_PREFIX}-perl"
48
64
" ${MINGW_PACKAGE_PREFIX} -ttf-dejavu"
49
65
" ${MINGW_PACKAGE_PREFIX} -xz"
50
66
" ${MINGW_PACKAGE_PREFIX} -zlib"
51
- " ${MINGW_PACKAGE_PREFIX} -zstd" )
67
+ " ${MINGW_PACKAGE_PREFIX} -zstd"
68
+ )
52
69
optdepends=(" ${MINGW_PACKAGE_PREFIX} -ghostscript: for Ghostscript support"
53
70
" ${MINGW_PACKAGE_PREFIX} -graphviz: for GVC support"
54
71
" ${MINGW_PACKAGE_PREFIX} -libjxl: for JPEG XL support"
55
72
" ${MINGW_PACKAGE_PREFIX} -librsvg: for SVG support"
56
- " ${MINGW_PACKAGE_PREFIX} -openexr: for OpenEXR support" )
57
- options=(' staticlibs' ' strip' ' !debug' ' libtool' )
58
- source_dir=" $GITHUB_WORKSPACE "
73
+ " ${MINGW_PACKAGE_PREFIX} -libultrahdr: for Ultra HDR support"
74
+ " ${MINGW_PACKAGE_PREFIX} -openexr: for OpenEXR support"
75
+ # "${MINGW_PACKAGE_PREFIX}-jasper: for JPEG-2000 support"
76
+ # "${MINGW_PACKAGE_PREFIX}-libpng: for PNG support"
77
+ # "${MINGW_PACKAGE_PREFIX}-libtiff: for PNG support"
78
+ # "${MINGW_PACKAGE_PREFIX}-libwebp: for WEBP support"
79
+ )
80
+ # libtool files are required in imagemagick to relocate modules path
81
+ options=(' libtool' )
82
+ # source=(https://imagemagick.org/archive/releases/ImageMagick-${_basever}${_rc}.tar.xz{,.asc}
83
+ # pathtools.c
84
+ # pathtools.h
85
+ # 001-7.1.1.39-relocate.patch)
86
+ # sha256sums=('2396cd3c4237cfbc09a89d31d1cee157ee11fbc8ec1e540530e10175cb707160'
87
+ # 'SKIP'
88
+ # 'ebf471173f5ee9c4416c10a78760cea8afaf1a4a6e653977321e8547ce7bf3c0'
89
+ # '1585ef1b61cf53a2ca27049c11d49e0834683dfda798f03547761375df482a90'
90
+ # 'f3454a7938069f91fbe220dc03e444e7454a4a8a286b2408bbfe6f15a9c8a6dc')
91
+ # Lexie Parsimoniae (ImageMagick code signing key) <[email protected] >
59
92
validpgpkeys=(' D8272EF51DA223E4D05B466989AB63D48277377A' )
60
93
94
+ source_dir=" $GITHUB_WORKSPACE "
95
+
96
+ # Helper macros to help make tasks easier #
97
+ # apply_patch_with_msg() {
98
+ # for _patch in "$@"
99
+ # do
100
+ # msg2 "Applying $_patch"
101
+ # patch -Nbp1 -i "${srcdir}/${_patch}"
102
+ # done
103
+ # }
104
+ # =========================================== #
105
+
61
106
prepare () {
62
- cd ${source_dir}
107
+ # test ! -d "${startdir}/../mingw-w64-pathtools" || {
108
+ # cmp "${startdir}/../mingw-w64-pathtools/pathtools.c" "${srcdir}/pathtools.c" &&
109
+ # cmp "${startdir}/../mingw-w64-pathtools/pathtools.h" "${srcdir}/pathtools.h"
110
+ # } || exit 1
111
+
112
+ # cd ImageMagick-${_basever}${_rc}
113
+ # cp -fHv "${srcdir}"/pathtools.[ch] MagickCore/
63
114
64
- # Regenerate autotools files
65
- autoreconf -fiv
115
+ # apply_patch_with_msg \
116
+ # 001-7.1.1.39-relocate.patch
117
+
118
+ cd " ${source_dir} "
119
+
120
+ autoreconf -fi
66
121
}
67
122
68
123
build () {
69
124
export lt_cv_deplibs_check_method=' pass_all'
70
- [[ $CARCH = " i686" ]] && EXTRAOPTS=" --with-gcc-arch=i686"
71
- [[ $CARCH = " x86_64" ]] && EXTRAOPTS=" " # EXTRAOPTS="--with-gcc-arch=x86-64"
72
125
73
- [[ -d ${source_dir} /build-${MINGW_CHOST} ]] && rm -rf ${source_dir} /build-${MINGW_CHOST}
74
- mkdir -p ${source_dir} /build-${MINGW_CHOST} && cd ${source_dir} /build-${MINGW_CHOST}
126
+ mkdir -p " ${source_dir} " /build-${MSYSTEM} && cd " ${source_dir} " /build-${MSYSTEM}
75
127
128
+ # --with-lcms2, --with-opencl, --without-ltdl
76
129
../configure \
77
130
--prefix=${MINGW_PREFIX} \
78
131
--build=${MINGW_CHOST} \
@@ -85,12 +138,14 @@ build() {
85
138
--with-gslib \
86
139
--with-gvc \
87
140
--with-flif \
141
+ --with-jxl \
88
142
--with-lcms \
89
143
--with-lqr \
90
144
--with-modules \
91
145
--with-openexr \
92
146
--with-openjp2 \
93
147
--with-rsvg \
148
+ --with-uhdr \
94
149
--with-webp \
95
150
--with-wmf \
96
151
--with-xml \
@@ -105,7 +160,6 @@ build() {
105
160
--with-windows-font-dir=c:/Windows/fonts \
106
161
--with-gs-font-dir=${MINGW_PREFIX} /share/fonts/gsfonts \
107
162
--with-dejavu-font-dir=${MINGW_PREFIX} /share/fonts/TTF \
108
- $EXTRAOPTS \
109
163
CFLAGS=" ${CFLAGS} " CPPFLAGS=" ${CPPFLAGS} " LDFLAGS=" ${LDFLAGS} "
110
164
111
165
if check_option " debug" " y" ; then
@@ -117,29 +171,49 @@ build() {
117
171
# --with-perl-options="INSTALLDIRS=vendor"
118
172
}
119
173
120
- package () {
121
- cd ${source_dir} /build-${MINGW_CHOST }
174
+ package_imagemagick () {
175
+ cd " ${source_dir} " /build-${MSYSTEM }
122
176
if check_option " debug" " y" ; then
123
177
MAKE_VERBOSE=" V=1"
124
178
fi
125
179
make -j1 DESTDIR=" ${pkgdir} " install ${MAKE_VERBOSE}
126
180
127
181
# find . -name "*.xml" -exec sed -i "s/${MINGW_PREFIX}/newWord/g" '{}' \;
128
- install -Dm644 ${source_dir} /LICENSE " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /LICENSE"
129
- install -Dm644 ${source_dir} /NOTICE " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /NOTICE"
182
+
183
+ install -Dm644 " ${source_dir} " /LICENSE " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /LICENSE"
184
+ install -Dm644 " ${source_dir} " /NOTICE " ${pkgdir}${MINGW_PREFIX} /share/licenses/${_realname} /NOTICE"
130
185
131
186
local PREFIX_WIN=$( cygpath -wm ${MINGW_PREFIX} )
132
187
# fix hard-coded pathes in XML files.
133
- find ${pkgdir}${MINGW_PREFIX} /lib -name " *.xml" -exec sed -e " s|${PREFIX_WIN} |${MINGW_PREFIX} |g" -i {} \;
188
+ find " ${pkgdir} " ${MINGW_PREFIX} /lib -name " *.xml" -exec sed -e " s|${PREFIX_WIN} |${MINGW_PREFIX} |g" -i {} \;
134
189
# fix libtool .la files
135
- find ${pkgdir}${MINGW_PREFIX} /lib -name " *.la" -exec sed -e " s|${PREFIX_WIN} |${MINGW_PREFIX} |g" -i {} \;
190
+ find " ${pkgdir} " ${MINGW_PREFIX} /lib -name " *.la" -exec sed -e " s|${PREFIX_WIN} |${MINGW_PREFIX} |g" -i {} \;
136
191
# fix hard-coded pathes in .pc files
137
192
for _f in " ${pkgdir}${MINGW_PREFIX} " \/ lib\/ pkgconfig\/ * .pc; do
138
193
sed -e " s|${PREFIX_WIN} |${MINGW_PREFIX} |g" -i ${_f}
139
194
done
195
+
196
+ # Split docs
197
+ mkdir -p dest${MINGW_PREFIX} /share
198
+ mv " ${pkgdir}${MINGW_PREFIX} " /share/doc dest${MINGW_PREFIX} /share/doc
140
199
}
141
200
142
- check () {
143
- cd " ${source_dir} /build-${MINGW_CHOST} "
144
- # make -j1 check || true
201
+ package_imagemagick-docs () {
202
+ pkgdesc+=" (documentation)"
203
+ depends=()
204
+ optdepends=()
205
+
206
+ cd " ${source_dir} " /build-${MSYSTEM}
207
+ mv dest/* " ${pkgdir} "
145
208
}
209
+
210
+ # template start; name=mingw-w64-splitpkg-wrappers; version=1.0;
211
+ # vim: set ft=bash :
212
+
213
+ # generate wrappers
214
+ for _name in " ${pkgname[@]} " ; do
215
+ _short=" package_${_name# ${MINGW_PACKAGE_PREFIX} -} "
216
+ _func=" $( declare -f " ${_short} " ) "
217
+ eval " ${_func/# ${_short} / package_${_name} } "
218
+ done
219
+ # template end;
0 commit comments