diff --git a/mingw-w64-boost/PKGBUILD b/mingw-w64-boost/PKGBUILD index 53388b709e..f894c36a2f 100644 --- a/mingw-w64-boost/PKGBUILD +++ b/mingw-w64-boost/PKGBUILD @@ -111,10 +111,19 @@ setb2args() { # Extract names of ICU libraries from the pkg-config configuration file. # Note that the acual order of the libraries in the array is irrelevant. # They are all linked in the same way. + local -a icu_i18n_libs + local -a icu_uc_libs + IFS=" " read -r -a icu_i18n_libs <<< "$(pkgconf --libs-only-l icu-i18n)" + IFS=" " read -r -a icu_uc_libs <<< "$(pkgconf --libs-only-l icu-uc)" local -a icu_libs - IFS=" " read -r -a icu_libs <<< "$(pkgconf --libs icu-i18n)" + icu_libs=("${icu_i18n_libs[@]}" "${icu_uc_libs[@]}") + local -a icu_libs_unique + while IFS= read -r -d '' x + do + icu_libs_unique+=("$x") + done < <(printf "%s\0" "${icu_libs[@]}" | sort -uz) # Remove -l prefix. - icu_libs=("${icu_libs[@]/#-l/}") + icu_libs=("${icu_libs_unique[@]/#-l/}") b2args="address-model=${_model} \ link=shared,static \ @@ -130,9 +139,9 @@ setb2args() { --layout=tagged-1.66 \ -sHAVE_ICU=1 \ -sICU_PATH=${MINGW_PREFIX} \ - -sICU_ICUUC_NAME=${icu_libs[1]} \ - -sICU_ICUDT_NAME=${icu_libs[2]} \ - -sICU_ICUIN_NAME=${icu_libs[0]} \ + -sICU_ICUDT_NAME=${icu_libs[0]} \ + -sICU_ICUIN_NAME=${icu_libs[1]} \ + -sICU_ICUUC_NAME=${icu_libs[2]} \ -sICONV_PATH=${MINGW_PREFIX} \ -sICONV_LINK=\"-L${MINGW_PREFIX}/lib -liconv\" \ -sNO_BZIP2 \