blob: 943cfa3f2bf742b599e9f88f60edaf2c84531d25 [file] [log] [blame]
# Maintainer: David Grayson <davidegrayson@gmail.com>
_realname=avrdude
pkgbase=mingw-w64-${_realname}
pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}"
pkgver=6.3
pkgrel=3
pkgdesc='Software for programming Atmel AVR Microcontrollers (mingw-w64)'
arch=('any')
mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64' 'clang32')
url="https://www.nongnu.org/avrdude/"
license=('GPL')
makedepends=()
depends=("${MINGW_PACKAGE_PREFIX}-libftdi"
"${MINGW_PACKAGE_PREFIX}-libusb"
"${MINGW_PACKAGE_PREFIX}-libusb-compat"
"${MINGW_PACKAGE_PREFIX}-libelf")
options=('staticlibs' 'strip')
source=("https://download.savannah.gnu.org/releases/avrdude/avrdude-${pkgver}.tar.gz"{,.sig}
'01-libtool.patch'
'02-ddk-headers.patch'
'03-handle-printing.patch'
'04-no-giveio.patch')
sha256sums=('0f9f731b6394ca7795b88359689a7fa1fba818c6e1d962513eb28da670e0a196'
'SKIP'
'3a5c041f97e8fcd6706b08ae24fe21337fd1df13319479e2d49c3f82529ba054'
'7b52523834e492281347bc92a064ca924dc5d09e2d653e7076c5a966d03f7768'
'159fb7d3253931c00a019c43f343f533d4e67c3a9859b7bcdb51878b8dc26451'
'c52f01656cfece50da9513170549fa5f0c8240544e10e77f67eea7a3ad8d1b50')
validpgpkeys=('EF497ABE47ED91B3FC3D7EA54D902FF7723BDEE9'
'5E84F980C3CAFD4BB5841070F48CA81B69A85873')
prepare()
{
cd "${srcdir}/${_realname}-${pkgver}"
# Delete binaries.
rm windows/giveio.sys
# Let's use mingw-w64's hidsdi.h instead of AVRDUDE's.
rm my_ddk_hidsdi.h
# Fixes a warning from libtool. However, a DLL still does not generated.
patch -p1 -i ../01-libtool.patch
# Look for headers like hidsdi.h and hidpi.h at the top level,
# (do not assume they are inside the "ddk" directory).
patch -p1 -i ../02-ddk-headers.patch
# Proper printing of 64-bit HANDLE pointers. The upstream code results
# in a compiler warning on x86_64 and wouldn't print the whole pointer.
patch -p1 -i ../03-handle-printing.patch
# Don't install giveio.sys or the batch scripts associated with it since it is
# a precompiled binary and unlikely to work on modern versions of Windows
# anyway due to driver signing requirements.
patch -p1 -i ../04-no-giveio.patch
./bootstrap
}
build() {
rm -rf "${srcdir}/build-${MINGW_CHOST}"
mkdir -p "${srcdir}/build-${MINGW_CHOST}"
cd "${srcdir}/build-${MINGW_CHOST}"
CFLAGS+=" -I${MINGW_PREFIX}/include/libusb-compat"
"../${_realname}-${pkgver}/configure" \
--prefix="${MINGW_PREFIX}" \
--build="${MINGW_CHOST}" \
--host="${MINGW_CHOST}"
make
}
check() {
cd "${srcdir}/build-${MINGW_CHOST}"
make check
}
package() {
cd "${srcdir}/build-${MINGW_CHOST}"
make DESTDIR="${pkgdir}" install
cd "${pkgdir}${MINGW_PREFIX}"
# Remove loaddrv.exe because we aren't distributing any drivers one could use
# with it and driver signing requirements in modern versions of Windows mean
# it is unlikely to work (it only claims to support Windows NT/2000/XP).
# Also, with a generic name like loaddrv, it could cause a name collision.
rm bin/loaddrv.exe
# As we can see from confwin.c, AVRDUDE searches for avrdude.conf
# using the PATH; it does not find it in /etc.
mv etc/avrdude.conf bin
cd "${srcdir}/${_realname}-${pkgver}"
install -D COPYING "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/COPYING"
}