diff --git a/mingw-w64-enet/001-no-undefined.patch b/mingw-w64-enet/001-no-undefined.patch new file mode 100644 index 0000000000..f1d3f2bfaf --- /dev/null +++ b/mingw-w64-enet/001-no-undefined.patch @@ -0,0 +1,11 @@ +--- enet-1.3.13/Makefile.am.orig 2016-01-14 08:45:22.158946100 +0300 ++++ enet-1.3.13/Makefile.am 2016-01-14 08:45:34.832946100 +0300 +@@ -16,7 +16,7 @@ + lib_LTLIBRARIES = libenet.la + libenet_la_SOURCES = callbacks.c compress.c host.c list.c packet.c peer.c protocol.c unix.c win32.c + # see info '(libtool) Updating version info' before making a release +-libenet_la_LDFLAGS = $(AM_LDFLAGS) -version-info 7:1:0 ++libenet_la_LDFLAGS = $(AM_LDFLAGS) -no-undefined -version-info 7:1:0 + AM_CPPFLAGS = -I$(top_srcdir)/include + + ACLOCAL_AMFLAGS = -Im4 diff --git a/mingw-w64-enet/002-win-libs.patch b/mingw-w64-enet/002-win-libs.patch new file mode 100644 index 0000000000..31432c9660 --- /dev/null +++ b/mingw-w64-enet/002-win-libs.patch @@ -0,0 +1,17 @@ +--- senet-1.3.13/configure.ac.orig 2016-01-14 08:49:48.966946100 +0300 ++++ enet-1.3.13/configure.ac 2016-01-14 08:56:43.378946100 +0300 +@@ -7,6 +7,14 @@ + AC_PROG_CC + AC_PROG_LIBTOOL + ++ ++# Check system type ++case "$target" in ++*mingw*) ++ LIBS="$LIBS -lws2_32 -lwinmm" ++ ;; ++esac ++ + AC_CHECK_FUNC(gethostbyaddr_r, [AC_DEFINE(HAS_GETHOSTBYADDR_R)]) + AC_CHECK_FUNC(gethostbyname_r, [AC_DEFINE(HAS_GETHOSTBYNAME_R)]) + AC_CHECK_FUNC(poll, [AC_DEFINE(HAS_POLL)]) diff --git a/mingw-w64-enet/PKGBUILD b/mingw-w64-enet/PKGBUILD index 326b90ffed..a4402a6d24 100644 --- a/mingw-w64-enet/PKGBUILD +++ b/mingw-w64-enet/PKGBUILD @@ -11,29 +11,35 @@ arch=('any') license=('custom') makedepends=("${MINGW_PACKAGE_PREFIX}-gcc") options=('staticlibs' 'strip') -source=("http://enet.bespin.org/download/enet-${pkgver}.tar.gz") -md5sums=('b83b9a7791417b6b6f5c68231f6e218b') +source=("http://enet.bespin.org/download/${_realname}-${pkgver}.tar.gz" + 001-no-undefined.patch + 002-win-libs.patch) +md5sums=('b83b9a7791417b6b6f5c68231f6e218b' + 'ab88c0a1edbfeddf50c9a8dda0798dd9' + '67dbf65539af7940e138574a43593fca') prepare() { cd "${srcdir}/enet-${pkgver}" + patch -p1 -i ${srcdir}/001-no-undefined.patch + patch -p1 -i ${srcdir}/002-win-libs.patch + + autoreconf -fiv } build() { - cd "${srcdir}/enet-${pkgver}" - gcc -shared ${CFLAGS} \ - -Wl,--out-implib,libenet.dll.a \ - -DENET_DLL\ - -Iinclude \ - *.c \ - -lws2_32 -lwinmm \ - -o enet.dll + mkdir -p build-${MINGW_CHOST} + cd build-${MINGW_CHOST} + + ../${_realname}-${pkgver}/configure \ + --build=${MINGW_CHOST} \ + --host=${MINGW_CHOST} \ + --target=${MINGW_CHOST} \ + --prefix=${MINGW_PREFIX} + + make } package() { - mkdir -p ${pkgdir}${MINGW_PREFIX}/{bin,lib,include} - mkdir -p ${pkgdir}${MINGW_PREFIX}/include/${_realname} - cd "${srcdir}/enet-${pkgver}" - install -m644 enet.dll "${pkgdir}${MINGW_PREFIX}/bin/" - install -m644 libenet.dll.a "${pkgdir}${MINGW_PREFIX}/lib/" - install -m644 include/enet/*.h "${pkgdir}${MINGW_PREFIX}/include/${_realname}/" + cd "${srcdir}/build-${MINGW_CHOST}" + make DESTDIR="${pkgdir}" install }