diff options
author | Stas Elensky | 2015-07-06 20:45:34 +0300 |
---|---|---|
committer | Stas Elensky | 2015-07-06 20:45:34 +0300 |
commit | 04853d7fbc4941a544b81beeb277f2f696b9d2da (patch) | |
tree | 798c40f64cce3ed458bf3c1befc68bd0fac26bf4 | |
download | aur-04853d7fbc4941a544b81beeb277f2f696b9d2da.tar.gz |
Initial import
-rw-r--r-- | .SRCINFO | 19 | ||||
-rw-r--r-- | PKGBUILD | 57 | ||||
-rw-r--r-- | fix-error-code-defs.patch | 34 |
3 files changed, 110 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..d333c3261d61 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,19 @@ +pkgbase = mingw-w64-libmodbus + pkgdesc = A Modbus library for Linux, Mac OS X, FreeBSD, QNX and Win32 (mingw-w64) + pkgver = 3.0.6 + pkgrel = 1 + url = http://libmodbus.org/ + arch = any + license = LGPL + makedepends = mingw-w64-gcc + depends = mingw-w64-crt + options = !strip + options = !buildflags + options = staticlibs + source = http://libmodbus.org/releases/libmodbus-3.0.6.tar.gz + source = fix-error-code-defs.patch + md5sums = c80f88b6ca19cabc4ceffc195ca07771 + md5sums = 00c6e44c5568c7027d0a76cba83d72c2 + +pkgname = mingw-w64-libmodbus + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..373722de7792 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,57 @@ +# Contributor: Stas Elensky <stas-at-flexsys-dot-com-dot-ua> + +pkgname=mingw-w64-libmodbus +pkgver=3.0.6 +pkgrel=1 +pkgdesc="A Modbus library for Linux, Mac OS X, FreeBSD, QNX and Win32 (mingw-w64)" +arch=('any') +url="http://libmodbus.org/" +license=('LGPL') +depends=('mingw-w64-crt') +makedepends=('mingw-w64-gcc') +options=(!strip !buildflags staticlibs) +_pkgfqn="libmodbus-${pkgver}" +source=( + "http://libmodbus.org/releases/libmodbus-$pkgver.tar.gz" + 'fix-error-code-defs.patch') +md5sums=( + 'c80f88b6ca19cabc4ceffc195ca07771' + '00c6e44c5568c7027d0a76cba83d72c2' + ) + +_architectures="i686-w64-mingw32 x86_64-w64-mingw32" + +build() { + unset CFLAGS + unset LDFLAGS + + cd "$srcdir/$_pkgfqn" + + # skip tests + sed -i 's/ tests//' Makefile.am + + # fix compilation under mingw-w64 + patch -p0 -i "$srcdir/fix-error-code-defs.patch" + + autoreconf --install --symlink --force + + for _arch in ${_architectures}; do + mkdir -p build-${_arch} + pushd build-${_arch} + ../configure --prefix=/usr/${_arch} --host=${_arch} --without-documentation + make + popd + done +} + +package() { + for _arch in ${_architectures}; do + cd "$srcdir/$_pkgfqn/build-${_arch}" + make DESTDIR="$pkgdir" install + + find "$pkgdir" -name '*.dll' -exec ${_arch}-strip --strip-unneeded {} \; + find "$pkgdir" -name '*.dll' -o -name '*.a' -exec ${_arch}-strip -g {} \; + done +} + +# vim:set ts=2 sw=2 et: diff --git a/fix-error-code-defs.patch b/fix-error-code-defs.patch new file mode 100644 index 000000000000..a8d0c0771593 --- /dev/null +++ b/fix-error-code-defs.patch @@ -0,0 +1,34 @@ +--- src/modbus-rtu-private.h 2013-10-07 00:42:53.000000000 +0300 ++++ src/modbus-rtu-private.h 2013-12-11 18:00:15.166666606 +0200 +@@ -38,7 +38,9 @@ + #define _MODBUS_RTU_CHECKSUM_LENGTH 2 + + #if defined(_WIN32) ++#ifndef ENOTSUP + #define ENOTSUP WSAEOPNOTSUPP ++#endif + + /* WIN32: struct containing serial handle and a receive buffer */ + #define PY_BUF_SIZE 512 +--- src/modbus-tcp.h 2013-10-07 00:42:53.000000000 +0300 ++++ src/modbus-tcp.h 2013-12-11 18:00:09.863299755 +0200 +@@ -26,11 +26,19 @@ + #if defined(_WIN32) && !defined(__CYGWIN__) + /* Win32 with MinGW, supplement to <errno.h> */ + #include <winsock2.h> ++#ifndef ECONNRESET + #define ECONNRESET WSAECONNRESET ++#endif ++#ifndef ECONNREFUSED + #define ECONNREFUSED WSAECONNREFUSED ++#endif ++#ifndef ETIMEDOUT + #define ETIMEDOUT WSAETIMEDOUT ++#endif ++#ifndef ENOPROTOOPT + #define ENOPROTOOPT WSAENOPROTOOPT + #endif ++#endif + + #define MODBUS_TCP_DEFAULT_PORT 502 + #define MODBUS_TCP_SLAVE 0xFF |