libgphoto2: fix clang build

This commit is contained in:
Raed Rizqie
2021-11-06 11:47:11 +08:00
parent 55f8dbb2ad
commit ad9dcd7c16
2 changed files with 38 additions and 29 deletions

View File

@@ -4,22 +4,23 @@ _realname=gphoto2
pkgbase=mingw-w64-${_realname}
pkgname=("${MINGW_PACKAGE_PREFIX}-${_realname}")
pkgver=2.5.27
pkgrel=2
pkgdesc="The gphoto2 commandline tool for accessing and controlling digital cameras. (mingw-w64)"
pkgrel=3
pkgdesc="The gphoto2 commandline tool for accessing and controlling digital cameras (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url='http://www.gphoto.org/'
license=('GNU')
depends=("${MINGW_PACKAGE_PREFIX}-libgphoto2"
"${MINGW_PACKAGE_PREFIX}-libiconv"
"${MINGW_PACKAGE_PREFIX}-libltdl"
"${MINGW_PACKAGE_PREFIX}-readline"
"${MINGW_PACKAGE_PREFIX}-popt")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-autotools")
makedepends=("${MINGW_PACKAGE_PREFIX}-autotools")
validpgpkeys=('7C4AFD61D8AAE7570796A5172209D6902F969C95') # Marcus Meissner
source=("https://sourceforge.net/projects/gphoto/files/gphoto/${pkgver}/${_realname}-${pkgver}.tar.gz"
source=("https://github.com/gphoto/gphoto2/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.xz"
"01_gphoto_close_before_rename.patch"
"gphoto2-check-popt.patch")
sha256sums=('993175db0354d5b0eb278c72a3e80589ce0cb2141639e43cfabc65981a1f2476'
sha256sums=('2fda6ffe0c7c2da4553801364a8cf6ef60685bd976cbfea24acc0fa142c77199'
'ca4e431c4f2bca1272a6580ebab7d81a82fa38fad07624cc8c6328b458293b19'
'fdc32ca1291b42f5d0b5f57ec2de47dfa6201bf45342a202ae86eb1caafd45d0')
@@ -28,13 +29,16 @@ prepare() {
patch -p1 -i ${srcdir}/01_gphoto_close_before_rename.patch
# https://github.com/gphoto/gphoto2/pull/419
patch -p1 -i ${srcdir}/gphoto2-check-popt.patch
autoreconf -fiv
}
build() {
cd "$srcdir"/${_realname}-${pkgver}
[[ -d "${srcdir}"/build-${CARCH} ]] && rm -rf "${srcdir}"/build-${CARCH}
mkdir -p "${srcdir}"/build-${CARCH} && cd "${srcdir}"/build-${CARCH}
../${_realname}-${pkgver}/configure \
[[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM}
cp -r ${_realname}-${pkgver} build-${MSYSTEM}
cd "${srcdir}/build-${MSYSTEM}"
./configure \
--prefix=${MINGW_PREFIX} \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
@@ -45,6 +49,8 @@ build() {
package() {
cd "${srcdir}"/build-${CARCH}
cd "${srcdir}/build-${MSYSTEM}"
make install DESTDIR="${pkgdir}"
install -Dm644 COPYING ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}

View File

@@ -4,10 +4,10 @@ _realname=libgphoto2
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=2.5.27
pkgrel=2
pkgdesc="libgphoto2 is a free, redistributable, ready to use set of digital camera software applications for Unix-like system (mingw-w64)"
pkgrel=3
pkgdesc="The libgphoto2 camera access and control library (mingw-w64)"
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="http://gphoto.org/proj/libgphoto2/"
license=("LGPL")
depends=("${MINGW_PACKAGE_PREFIX}-libsystre"
@@ -16,15 +16,15 @@ depends=("${MINGW_PACKAGE_PREFIX}-libsystre"
"${MINGW_PACKAGE_PREFIX}-libgd"
"${MINGW_PACKAGE_PREFIX}-libexif"
"${MINGW_PACKAGE_PREFIX}-libusb"
"${MINGW_PACKAGE_PREFIX}-libiconv"
"${MINGW_PACKAGE_PREFIX}-libltdl")
makedepends=("${MINGW_PACKAGE_PREFIX}-gcc"
"${MINGW_PACKAGE_PREFIX}-autotools"
makedepends=("${MINGW_PACKAGE_PREFIX}-autotools"
"${MINGW_PACKAGE_PREFIX}-doxygen")
source=(https://sourceforge.net/projects/gphoto/files/libgphoto/${pkgver}/${_realname}-${pkgver}.tar.gz
source=(https://github.com/gphoto/libgphoto2/releases/download/v${pkgver}/${_realname}-${pkgver}.tar.xz
libgphoto2-gp_system_filename-fix.patch
libgphoto2-fix-lumix.patch
libgphoto2-configure-ws232.patch)
sha256sums=('fd48f6f58259ba199e834010aca0af3672ca0223ed0a98ba89ec693a415f242a'
sha256sums=('a7253bd18c6ef65352150ac36a668f883a5ad2634eb6455b3ca9aa6ac98d0073'
'27c558cdf88bee6ce1f3f564d6dfbc0b78809c33b98d20c9e58e40e335d7b0dd'
'08b6d5b56d01daae60afa4f0b924ddff2c6d5ef2a5bf6057c601f1efb7019016'
'fcda293776f18cd506f3aed09b8e0a969c7dbf390574b4b8c3c8377e827dbf8a')
@@ -35,35 +35,37 @@ prepare() {
patch -Np1 -i "${srcdir}/libgphoto2-gp_system_filename-fix.patch"
patch -Np1 -i "${srcdir}/libgphoto2-fix-lumix.patch"
patch -Np1 -i "${srcdir}/libgphoto2-configure-ws232.patch"
autoreconf -fiv
}
build() {
[[ -d ${srcdir}/build-${MINGW_CHOST} ]] && rm -rf ${srcdir}/build-${MINGW_CHOST}
#mkdir -p ${srcdir}/build-${MINGW_CHOST} && cd ${srcdir}/build-${MINGW_CHOST}
[[ -d build-${MSYSTEM} ]] && rm -rf build-${MSYSTEM}
cp -r ${_realname}-${pkgver} build-${MSYSTEM}
#Note: --with-libusb=no is required for Windows 10 to work.
cp -rf ${_realname}-${pkgver} build-${MINGW_CHOST}
cd ${srcdir}/build-${MINGW_CHOST}
cd "${srcdir}/build-${MSYSTEM}"
./configure \
--prefix="${MINGW_PREFIX}" \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--prefix="${MINGW_PREFIX}" \
--build=${MINGW_CHOST} \
--host=${MINGW_CHOST} \
--with-libusb=no \
--with-gdlib=auto \
--disable-internal-docs
# Clang cannot handle '-Wl, -rpath' properly
find . -depth -name 'config.status' -exec sed -e "s|\${wl}-rpath \${wl}|-L|g" -i {} ';'
make
}
check() {
cd "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MSYSTEM}"
make check
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MSYSTEM}"
make DESTDIR=${pkgdir} install
# Remove unused udev helper
@@ -80,4 +82,5 @@ export CAMLIBS=${MINGW_PREFIX}/lib/${_realname}/${pkgver}
export IOLIBS=${MINGW_PREFIX}/lib/${_realname}_port/0.12.0
EOF
install -Dm644 COPYING ${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE
}