summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorStas Elensky2015-07-06 20:45:34 +0300
committerStas Elensky2015-07-06 20:45:34 +0300
commit04853d7fbc4941a544b81beeb277f2f696b9d2da (patch)
tree798c40f64cce3ed458bf3c1befc68bd0fac26bf4
downloadaur-04853d7fbc4941a544b81beeb277f2f696b9d2da.tar.gz
Initial import
-rw-r--r--.SRCINFO19
-rw-r--r--PKGBUILD57
-rw-r--r--fix-error-code-defs.patch34
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