Skip to content

Commit ce407a7

Browse files
committed
Updated the PKGBUILD file.
1 parent 9becc62 commit ce407a7

File tree

1 file changed

+106
-32
lines changed

1 file changed

+106
-32
lines changed

Build/MSYS2/PKGBUILD

Lines changed: 106 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,41 @@
11
# Adapted from upstream:
22
# https://github.com/msys2/MINGW-packages/tree/master/mingw-w64-imagemagick
33

4+
# Maintainer: Alexey Pavlov <[email protected]>
5+
46
_realname=imagemagick
57
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.
813
pkgrel=1
914
pkgdesc="An image viewing/manipulation program (mingw-w64)"
1015
arch=('any')
11-
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
16+
mingw_arch=('mingw64' 'ucrt64' 'clang64' 'clangarm64')
1217
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"
1631
"${MINGW_PACKAGE_PREFIX}-ghostscript"
1732
"${MINGW_PACKAGE_PREFIX}-graphviz"
1833
"${MINGW_PACKAGE_PREFIX}-libjxl"
1934
"${MINGW_PACKAGE_PREFIX}-librsvg"
35+
"${MINGW_PACKAGE_PREFIX}-libultrahdr"
2036
"${MINGW_PACKAGE_PREFIX}-libxml2"
2137
"${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")
2639
depends=("${MINGW_PACKAGE_PREFIX}-bzip2"
2740
"${MINGW_PACKAGE_PREFIX}-djvulibre"
2841
"${MINGW_PACKAGE_PREFIX}-flif"
@@ -40,39 +53,79 @@ depends=("${MINGW_PACKAGE_PREFIX}-bzip2"
4053
"${MINGW_PACKAGE_PREFIX}-libraqm"
4154
"${MINGW_PACKAGE_PREFIX}-libraw"
4255
"${MINGW_PACKAGE_PREFIX}-libtiff"
43-
"${MINGW_PACKAGE_PREFIX}-libtool"
56+
"${MINGW_PACKAGE_PREFIX}-libltdl"
4457
"${MINGW_PACKAGE_PREFIX}-libwebp"
58+
"${MINGW_PACKAGE_PREFIX}-libwinpthread"
4559
"${MINGW_PACKAGE_PREFIX}-libwmf"
4660
"${MINGW_PACKAGE_PREFIX}-libxml2"
61+
"${MINGW_PACKAGE_PREFIX}-omp"
4762
"${MINGW_PACKAGE_PREFIX}-openjpeg2"
63+
#"${MINGW_PACKAGE_PREFIX}-perl"
4864
"${MINGW_PACKAGE_PREFIX}-ttf-dejavu"
4965
"${MINGW_PACKAGE_PREFIX}-xz"
5066
"${MINGW_PACKAGE_PREFIX}-zlib"
51-
"${MINGW_PACKAGE_PREFIX}-zstd")
67+
"${MINGW_PACKAGE_PREFIX}-zstd"
68+
)
5269
optdepends=("${MINGW_PACKAGE_PREFIX}-ghostscript: for Ghostscript support"
5370
"${MINGW_PACKAGE_PREFIX}-graphviz: for GVC support"
5471
"${MINGW_PACKAGE_PREFIX}-libjxl: for JPEG XL support"
5572
"${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]>
5992
validpgpkeys=('D8272EF51DA223E4D05B466989AB63D48277377A')
6093

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+
61106
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/
63114

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
66121
}
67122

68123
build() {
69124
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"
72125

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}
75127

128+
# --with-lcms2, --with-opencl, --without-ltdl
76129
../configure \
77130
--prefix=${MINGW_PREFIX} \
78131
--build=${MINGW_CHOST} \
@@ -85,12 +138,14 @@ build() {
85138
--with-gslib \
86139
--with-gvc \
87140
--with-flif \
141+
--with-jxl \
88142
--with-lcms \
89143
--with-lqr \
90144
--with-modules \
91145
--with-openexr \
92146
--with-openjp2 \
93147
--with-rsvg \
148+
--with-uhdr \
94149
--with-webp \
95150
--with-wmf \
96151
--with-xml \
@@ -105,7 +160,6 @@ build() {
105160
--with-windows-font-dir=c:/Windows/fonts \
106161
--with-gs-font-dir=${MINGW_PREFIX}/share/fonts/gsfonts \
107162
--with-dejavu-font-dir=${MINGW_PREFIX}/share/fonts/TTF \
108-
$EXTRAOPTS \
109163
CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
110164

111165
if check_option "debug" "y"; then
@@ -117,29 +171,49 @@ build() {
117171
#--with-perl-options="INSTALLDIRS=vendor"
118172
}
119173

120-
package() {
121-
cd ${source_dir}/build-${MINGW_CHOST}
174+
package_imagemagick() {
175+
cd "${source_dir}"/build-${MSYSTEM}
122176
if check_option "debug" "y"; then
123177
MAKE_VERBOSE="V=1"
124178
fi
125179
make -j1 DESTDIR="${pkgdir}" install ${MAKE_VERBOSE}
126180

127181
#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"
130185

131186
local PREFIX_WIN=$(cygpath -wm ${MINGW_PREFIX})
132187
# 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 {} \;
134189
# 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 {} \;
136191
# fix hard-coded pathes in .pc files
137192
for _f in "${pkgdir}${MINGW_PREFIX}"\/lib\/pkgconfig\/*.pc; do
138193
sed -e "s|${PREFIX_WIN}|${MINGW_PREFIX}|g" -i ${_f}
139194
done
195+
196+
# Split docs
197+
mkdir -p dest${MINGW_PREFIX}/share
198+
mv "${pkgdir}${MINGW_PREFIX}"/share/doc dest${MINGW_PREFIX}/share/doc
140199
}
141200

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}"
145208
}
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

Comments
 (0)