| # Maintainer: David Grayson <davidegrayson@gmail.com> |
| # |
| # You might need to run your shell as administrator for devcon to work. |
| |
| _realname=devcon |
| pkgbase=mingw-w64-${_realname}-git |
| pkgname="${MINGW_PACKAGE_PREFIX}-${_realname}-git" |
| provides=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| conflicts=("${MINGW_PACKAGE_PREFIX}-${_realname}") |
| pkgver=r233.8b17cf3 |
| pkgrel=1 |
| pkgdesc='Search for and manipulate devices (mingw-w64)' |
| arch=('any') |
| mingw_arch=('mingw32' 'mingw64' 'ucrt64' 'clang64') |
| url='https://github.com/Microsoft/Windows-driver-samples/tree/master/setup/devcon' |
| license=('custom') |
| makedepends=("${MINGW_PACKAGE_PREFIX}-gcc" |
| "patch") |
| depends=() |
| options=('strip') |
| source=("wds::git+https://github.com/Microsoft/Windows-driver-samples" |
| "02-driverspecs.patch") |
| sha256sums=('SKIP' |
| 'b67d69e0623c79e10346afe357178618a8341a2cff3ce1ada0ed284280760856') |
| |
| pkgver() { |
| cd ${srcdir}/wds |
| printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)" |
| } |
| |
| prepare() { |
| cd "${srcdir}/wds/setup/devcon" |
| |
| # dos2unix -q *.cpp *.h *.rc |
| |
| # Include driverspecs.h to get __drv_allocatesMem and similar. |
| patch -p1 -i "${srcdir}/02-driverspecs.patch" |
| |
| # SetupScanFileQueue expects its callback to be stdcall. |
| # patch -p1 -i "${srcdir}/03-stdcall-callback.patch" |
| |
| # We don't want MinGW to expand wildcards; we need to be able to |
| # run commands like "devcon hwids *" to search for all devices. |
| echo "int _dowildcard = 0;" > wildcard.cpp |
| |
| windmc msg.mc |
| } |
| |
| build() { |
| cd "${srcdir}" |
| mkdir -p "build-${MINGW_CHOST}" |
| cd "build-${MINGW_CHOST}" |
| |
| windres ../wds/setup/devcon/devcon.rc rc.so |
| |
| g++ -municode -Wno-write-strings ${CFLAGS} ${LDFLAGS} \ |
| -DWIN32_LEAN_AND_MEAN=1 -DUNICODE -D_UNICODE \ |
| ../wds/setup/devcon/*.cpp rc.so \ |
| -lsetupapi -lole32 \ |
| -o devcon.exe |
| } |
| |
| package() { |
| cd "${srcdir}/wds" |
| install -Dm644 LICENSE "${pkgdir}${MINGW_PREFIX}/share/licenses/${_realname}/LICENSE" |
| cd "${srcdir}/build-${MINGW_CHOST}" |
| mkdir "${pkgdir}${MINGW_PREFIX}/bin" |
| install -Dm755 devcon.exe "${pkgdir}${MINGW_PREFIX}/bin" |
| } |